From 8970881fb4dd8d6600b2c60976f1b27958a1ed18 Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Sun, 4 Jul 2004 15:56:55 +0000 Subject: [PATCH] gtk/gtkiconview.c Add GtkIconView to the build, remove debugging output. 2004-07-04 Anders Carlsson * gtk/Makefile.am: * gtk/gtkiconview.c * gtk/gtkiconview.h: Add GtkIconView to the build, remove debugging output. --- ChangeLog | 7 + ChangeLog.pre-2-10 | 7 + ChangeLog.pre-2-6 | 7 + ChangeLog.pre-2-8 | 7 + gtk/Makefile.am | 2 + gtk/gtkiconview.c | 1970 +++++++++++++++++++++----------------------- gtk/gtkiconview.h | 100 ++- 7 files changed, 1034 insertions(+), 1066 deletions(-) diff --git a/ChangeLog b/ChangeLog index e6a76cb61a..68a94576a3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-07-04 Anders Carlsson + + * gtk/Makefile.am: + * gtk/gtkiconview.c + * gtk/gtkiconview.h: + Add GtkIconView to the build, remove debugging output. + Sun Jul 4 01:29:35 2004 Matthias Clasen * gtk/gtkcalendar.c (gtk_calendar_drag_data_get): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index e6a76cb61a..68a94576a3 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +2004-07-04 Anders Carlsson + + * gtk/Makefile.am: + * gtk/gtkiconview.c + * gtk/gtkiconview.h: + Add GtkIconView to the build, remove debugging output. + Sun Jul 4 01:29:35 2004 Matthias Clasen * gtk/gtkcalendar.c (gtk_calendar_drag_data_get): diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index e6a76cb61a..68a94576a3 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,10 @@ +2004-07-04 Anders Carlsson + + * gtk/Makefile.am: + * gtk/gtkiconview.c + * gtk/gtkiconview.h: + Add GtkIconView to the build, remove debugging output. + Sun Jul 4 01:29:35 2004 Matthias Clasen * gtk/gtkcalendar.c (gtk_calendar_drag_data_get): diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index e6a76cb61a..68a94576a3 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,10 @@ +2004-07-04 Anders Carlsson + + * gtk/Makefile.am: + * gtk/gtkiconview.c + * gtk/gtkiconview.h: + Add GtkIconView to the build, remove debugging output. + Sun Jul 4 01:29:35 2004 Matthias Clasen * gtk/gtkcalendar.c (gtk_calendar_drag_data_get): diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 3a9cdd3c84..328f2aea34 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -166,6 +166,7 @@ gtk_public_h_sources = \ gtkhseparator.h \ gtkiconfactory.h \ gtkicontheme.h \ + gtkiconview.h \ gtkimage.h \ gtkimagemenuitem.h \ gtkimcontext.h \ @@ -380,6 +381,7 @@ gtk_c_sources = \ gtkicontheme.c \ gtkiconthemeparser.c \ gtkiconthemeparser.h \ + gtkiconview.c \ gtkimage.c \ gtkimagemenuitem.c \ gtkimcontext.c \ diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 6d937c4d77..22d5917b64 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -1,5 +1,5 @@ -/* eggiconlist.h - * Copyright (C) 2002 Anders Carlsson +/* gtkiconview.h + * Copyright (C) 2002, 2004 Anders Carlsson * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -17,29 +17,35 @@ * Boston, MA 02111-1307, USA. */ -#include "eggiconlist.h" - +#include #include -#include -#include -#include -#include -#include -#include +#include -#include "eggmarshalers.h" +#include "gtkiconview.h" +#include "gtkmarshalers.h" +#include "gtkbindings.h" +#include "gtkdnd.h" +#include "gtkmain.h" +#include "gtksignal.h" +#include "gtkintl.h" #define MINIMUM_ICON_ITEM_WIDTH 100 #define ICON_TEXT_PADDING 3 -#define EGG_ICON_LIST_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), EGG_TYPE_ICON_LIST, EggIconListPrivate)) +#define ICON_VIEW_TOP_MARGIN 6 +#define ICON_VIEW_BOTTOM_MARGIN 6 +#define ICON_VIEW_LEFT_MARGIN 6 +#define ICON_VIEW_RIGHT_MARGIN 6 +#define ICON_VIEW_ICON_PADDING 6 + +#define GTK_ICON_VIEW_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_ICON_VIEW, GtkIconViewPrivate)) #define VALID_MODEL_AND_COLUMNS(obj) ((obj)->priv->model != NULL && \ ((obj)->priv->pixbuf_column != -1 || \ (obj)->priv->text_column != -1 || \ (obj)->priv->markup_column != -1)) -struct _EggIconListItem +struct _GtkIconViewItem { gint ref_count; @@ -62,7 +68,7 @@ struct _EggIconListItem guint selected_before_rubberbanding : 1; }; -struct _EggIconListPrivate +struct _GtkIconViewPrivate { gint width, height; @@ -91,13 +97,13 @@ struct _EggIconListPrivate gint scroll_value_diff; gint event_last_x, event_last_y; - EggIconListItem *anchor_item; - EggIconListItem *cursor_item; + GtkIconViewItem *anchor_item; + GtkIconViewItem *cursor_item; guint ctrl_pressed : 1; guint shift_pressed : 1; - EggIconListItem *last_single_clicked; + GtkIconViewItem *last_single_clicked; #ifdef DND_WORKS /* Drag-and-drop. */ @@ -135,111 +141,111 @@ enum }; /* GObject signals */ -static void egg_icon_list_finalize (GObject *object); -static void egg_icon_list_set_property (GObject *object, +static void gtk_icon_view_finalize (GObject *object); +static void gtk_icon_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); -static void egg_icon_list_get_property (GObject *object, +static void gtk_icon_view_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); /* GtkObject signals */ -static void egg_icon_list_destroy (GtkObject *object); +static void gtk_icon_view_destroy (GtkObject *object); /* GtkWidget signals */ -static void egg_icon_list_realize (GtkWidget *widget); -static void egg_icon_list_unrealize (GtkWidget *widget); -static void egg_icon_list_map (GtkWidget *widget); -static void egg_icon_list_size_request (GtkWidget *widget, +static void gtk_icon_view_realize (GtkWidget *widget); +static void gtk_icon_view_unrealize (GtkWidget *widget); +static void gtk_icon_view_map (GtkWidget *widget); +static void gtk_icon_view_size_request (GtkWidget *widget, GtkRequisition *requisition); -static void egg_icon_list_size_allocate (GtkWidget *widget, +static void gtk_icon_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation); -static gboolean egg_icon_list_expose (GtkWidget *widget, +static gboolean gtk_icon_view_expose (GtkWidget *widget, GdkEventExpose *expose); -static gboolean egg_icon_list_motion (GtkWidget *widget, +static gboolean gtk_icon_view_motion (GtkWidget *widget, GdkEventMotion *event); -static gboolean egg_icon_list_button_press (GtkWidget *widget, +static gboolean gtk_icon_view_button_press (GtkWidget *widget, GdkEventButton *event); -static gboolean egg_icon_list_button_release (GtkWidget *widget, +static gboolean gtk_icon_view_button_release (GtkWidget *widget, GdkEventButton *event); -/* EggIconList signals */ -static void egg_icon_list_set_adjustments (EggIconList *icon_list, +/* GtkIconView signals */ +static void gtk_icon_view_set_adjustments (GtkIconView *icon_view, GtkAdjustment *hadj, GtkAdjustment *vadj); -static void egg_icon_list_real_select_all (EggIconList *icon_list); -static void egg_icon_list_real_unselect_all (EggIconList *icon_list); -static void egg_icon_list_real_select_cursor_item (EggIconList *icon_list); -static void egg_icon_list_real_toggle_cursor_item (EggIconList *icon_list); +static void gtk_icon_view_real_select_all (GtkIconView *icon_view); +static void gtk_icon_view_real_unselect_all (GtkIconView *icon_view); +static void gtk_icon_view_real_select_cursor_item (GtkIconView *icon_view); +static void gtk_icon_view_real_toggle_cursor_item (GtkIconView *icon_view); /* Internal functions */ -static void egg_icon_list_adjustment_changed (GtkAdjustment *adjustment, - EggIconList *icon_list); -static void egg_icon_list_layout (EggIconList *icon_list); -static void egg_icon_list_paint_item (EggIconList *icon_list, - EggIconListItem *item, +static void gtk_icon_view_adjustment_changed (GtkAdjustment *adjustment, + GtkIconView *icon_view); +static void gtk_icon_view_layout (GtkIconView *icon_view); +static void gtk_icon_view_paint_item (GtkIconView *icon_view, + GtkIconViewItem *item, GdkRectangle *area); -static void egg_icon_list_paint_rubberband (EggIconList *icon_list, +static void gtk_icon_view_paint_rubberband (GtkIconView *icon_view, GdkRectangle *area); -static void egg_icon_list_queue_draw_item (EggIconList *icon_list, - EggIconListItem *item); -static void egg_icon_list_queue_layout (EggIconList *icon_list); -static void egg_icon_list_set_cursor_item (EggIconList *icon_list, - EggIconListItem *item); -static void egg_icon_list_start_rubberbanding (EggIconList *icon_list, +static void gtk_icon_view_queue_draw_item (GtkIconView *icon_view, + GtkIconViewItem *item); +static void gtk_icon_view_queue_layout (GtkIconView *icon_view); +static void gtk_icon_view_set_cursor_item (GtkIconView *icon_view, + GtkIconViewItem *item); +static void gtk_icon_view_start_rubberbanding (GtkIconView *icon_view, gint x, gint y); -static void egg_icon_list_stop_rubberbanding (EggIconList *icon_list); -static void egg_icon_list_update_rubberband_selection (EggIconList *icon_list); -static gboolean egg_icon_list_item_hit_test (EggIconListItem *item, +static void gtk_icon_view_stop_rubberbanding (GtkIconView *icon_view); +static void gtk_icon_view_update_rubberband_selection (GtkIconView *icon_view); +static gboolean gtk_icon_view_item_hit_test (GtkIconViewItem *item, gint x, gint y, gint width, gint height); #ifdef DND_WORKS -static gboolean egg_icon_list_maybe_begin_dragging_items (EggIconList *icon_list, +static gboolean gtk_icon_view_maybe_begin_dragging_items (GtkIconView *icon_view, GdkEventMotion *event); #endif -static gboolean egg_icon_list_unselect_all_internal (EggIconList *icon_list); -static void egg_icon_list_calculate_item_size (EggIconList *icon_list, - EggIconListItem *item); -static void egg_icon_list_update_rubberband (gpointer data); -static void egg_icon_list_item_invalidate_size (EggIconListItem *item); -static void egg_icon_list_invalidate_sizes (EggIconList *icon_list); -static void egg_icon_list_add_move_binding (GtkBindingSet *binding_set, +static gboolean gtk_icon_view_unselect_all_internal (GtkIconView *icon_view); +static void gtk_icon_view_calculate_item_size (GtkIconView *icon_view, + GtkIconViewItem *item); +static void gtk_icon_view_update_rubberband (gpointer data); +static void gtk_icon_view_item_invalidate_size (GtkIconViewItem *item); +static void gtk_icon_view_invalidate_sizes (GtkIconView *icon_view); +static void gtk_icon_view_add_move_binding (GtkBindingSet *binding_set, guint keyval, guint modmask, GtkMovementStep step, gint count); -static gboolean egg_icon_list_real_move_cursor (EggIconList *icon_list, +static gboolean gtk_icon_view_real_move_cursor (GtkIconView *icon_view, GtkMovementStep step, gint count); -static void egg_icon_list_move_cursor_up_down (EggIconList *icon_list, +static void gtk_icon_view_move_cursor_up_down (GtkIconView *icon_view, gint count); -static void egg_icon_list_move_cursor_page_up_down (EggIconList *icon_list, +static void gtk_icon_view_move_cursor_page_up_down (GtkIconView *icon_view, gint count); -static void egg_icon_list_move_cursor_left_right (EggIconList *icon_list, +static void gtk_icon_view_move_cursor_left_right (GtkIconView *icon_view, gint count); -static void egg_icon_list_move_cursor_start_end (EggIconList *icon_list, +static void gtk_icon_view_move_cursor_start_end (GtkIconView *icon_view, gint count); -static void egg_icon_list_scroll_to_item (EggIconList *icon_list, - EggIconListItem *item); -static GdkPixbuf *egg_icon_list_get_item_icon (EggIconList *icon_list, - EggIconListItem *item); -static void egg_icon_list_update_item_text (EggIconList *icon_list, - EggIconListItem *item); -static void egg_icon_list_select_item (EggIconList *icon_list, - EggIconListItem *item); -static void egg_icon_list_unselect_item (EggIconList *icon_list, - EggIconListItem *item); -static gboolean egg_icon_list_select_all_between (EggIconList *icon_list, - EggIconListItem *anchor, - EggIconListItem *cursor); - -static EggIconListItem *egg_icon_list_get_item_at_pos (EggIconList *icon_list, +static void gtk_icon_view_scroll_to_item (GtkIconView *icon_view, + GtkIconViewItem *item); +static GdkPixbuf *gtk_icon_view_get_item_icon (GtkIconView *icon_view, + GtkIconViewItem *item); +static void gtk_icon_view_update_item_text (GtkIconView *icon_view, + GtkIconViewItem *item); +static void gtk_icon_view_select_item (GtkIconView *icon_view, + GtkIconViewItem *item); +static void gtk_icon_view_unselect_item (GtkIconView *icon_view, + GtkIconViewItem *item); +static gboolean gtk_icon_view_select_all_between (GtkIconView *icon_view, + GtkIconViewItem *anchor, + GtkIconViewItem *cursor); + +static GtkIconViewItem *gtk_icon_view_get_item_at_pos (GtkIconView *icon_view, gint x, gint y); @@ -248,12 +254,12 @@ static EggIconListItem *egg_icon_list_get_item_at_pos (EggIconList *icon_list, static GtkContainerClass *parent_class = NULL; -static guint icon_list_signals[LAST_SIGNAL] = { 0 }; +static guint icon_view_signals[LAST_SIGNAL] = { 0 }; -G_DEFINE_TYPE (EggIconList, egg_icon_list, GTK_TYPE_CONTAINER); +G_DEFINE_TYPE (GtkIconView, gtk_icon_view, GTK_TYPE_CONTAINER); static void -egg_icon_list_class_init (EggIconListClass *klass) +gtk_icon_view_class_init (GtkIconViewClass *klass) { GObjectClass *gobject_class; GtkObjectClass *object_class; @@ -263,41 +269,41 @@ egg_icon_list_class_init (EggIconListClass *klass) parent_class = g_type_class_peek_parent (klass); binding_set = gtk_binding_set_by_class (klass); - g_type_class_add_private (klass, sizeof (EggIconListPrivate)); + g_type_class_add_private (klass, sizeof (GtkIconViewPrivate)); gobject_class = (GObjectClass *) klass; object_class = (GtkObjectClass *) klass; widget_class = (GtkWidgetClass *) klass; - gobject_class->finalize = egg_icon_list_finalize; - gobject_class->set_property = egg_icon_list_set_property; - gobject_class->get_property = egg_icon_list_get_property; - - object_class->destroy = egg_icon_list_destroy; - - widget_class->realize = egg_icon_list_realize; - widget_class->unrealize = egg_icon_list_unrealize; - widget_class->map = egg_icon_list_map; - widget_class->size_request = egg_icon_list_size_request; - widget_class->size_allocate = egg_icon_list_size_allocate; - widget_class->expose_event = egg_icon_list_expose; - widget_class->motion_notify_event = egg_icon_list_motion; - widget_class->button_press_event = egg_icon_list_button_press; - widget_class->button_release_event = egg_icon_list_button_release; - - klass->set_scroll_adjustments = egg_icon_list_set_adjustments; - klass->select_all = egg_icon_list_real_select_all; - klass->unselect_all = egg_icon_list_real_unselect_all; - klass->select_cursor_item = egg_icon_list_real_select_cursor_item; - klass->toggle_cursor_item = egg_icon_list_real_toggle_cursor_item; - klass->move_cursor = egg_icon_list_real_move_cursor; + gobject_class->finalize = gtk_icon_view_finalize; + gobject_class->set_property = gtk_icon_view_set_property; + gobject_class->get_property = gtk_icon_view_get_property; + + object_class->destroy = gtk_icon_view_destroy; + + widget_class->realize = gtk_icon_view_realize; + widget_class->unrealize = gtk_icon_view_unrealize; + widget_class->map = gtk_icon_view_map; + widget_class->size_request = gtk_icon_view_size_request; + widget_class->size_allocate = gtk_icon_view_size_allocate; + widget_class->expose_event = gtk_icon_view_expose; + widget_class->motion_notify_event = gtk_icon_view_motion; + widget_class->button_press_event = gtk_icon_view_button_press; + widget_class->button_release_event = gtk_icon_view_button_release; + + klass->set_scroll_adjustments = gtk_icon_view_set_adjustments; + klass->select_all = gtk_icon_view_real_select_all; + klass->unselect_all = gtk_icon_view_real_unselect_all; + klass->select_cursor_item = gtk_icon_view_real_select_cursor_item; + klass->toggle_cursor_item = gtk_icon_view_real_toggle_cursor_item; + klass->move_cursor = gtk_icon_view_real_move_cursor; /* Properties */ g_object_class_install_property (gobject_class, PROP_SELECTION_MODE, g_param_spec_enum ("selection_mode", - _("Selection mode"), - _("The selection mode"), + P_("Selection mode"), + P_("The selection mode"), GTK_TYPE_SELECTION_MODE, GTK_SELECTION_SINGLE, G_PARAM_READWRITE)); @@ -305,95 +311,48 @@ egg_icon_list_class_init (EggIconListClass *klass) g_object_class_install_property (gobject_class, PROP_PIXBUF_COLUMN, g_param_spec_int ("pixbuf_column", - _("Pixbuf column"), - _("Model column used to retrieve the icon pixbuf from"), + P_("Pixbuf column"), + P_("Model column used to retrieve the icon pixbuf from"), -1, G_MAXINT, -1, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_TEXT_COLUMN, g_param_spec_int ("text_column", - _("Text column"), - _("Model column used to retrieve the text from"), + P_("Text column"), + P_("Model column used to retrieve the text from"), -1, G_MAXINT, -1, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_MARKUP_COLUMN, g_param_spec_int ("markup_column", - _("Markup column"), - _("Model column used to retrieve the text if using pango markup"), + P_("Markup column"), + P_("Model column used to retrieve the text if using pango markup"), -1, G_MAXINT, -1, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_MODEL, g_param_spec_object ("model", - _("Icon List Model"), - _("The model for the icon list"), + P_("Icon List Model"), + P_("The model for the icon list"), GTK_TYPE_TREE_MODEL, G_PARAM_READWRITE)); - /* Style properties */ -#define _ICON_LIST_TOP_MARGIN 6 -#define _ICON_LIST_BOTTOM_MARGIN 6 -#define _ICON_LIST_LEFT_MARGIN 6 -#define _ICON_LIST_RIGHT_MARGIN 6 -#define _ICON_LIST_ICON_PADDING 6 - - gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("icon_padding", - _("Icon padding"), - _("Number of pixels between icons"), - 0, - G_MAXINT, - _ICON_LIST_ICON_PADDING, - G_PARAM_READABLE)); - gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("top_margin", - _("Top margin"), - _("Number of pixels in top margin"), - 0, - G_MAXINT, - _ICON_LIST_TOP_MARGIN, - G_PARAM_READABLE)); - gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("bottom_margin", - _("Bottom margin"), - _("Number of pixels in bottom margin"), - 0, - G_MAXINT, - _ICON_LIST_BOTTOM_MARGIN, - G_PARAM_READABLE)); - - gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("left_margin", - _("Left margin"), - _("Number of pixels in left margin"), - 0, - G_MAXINT, - _ICON_LIST_LEFT_MARGIN, - G_PARAM_READABLE)); - gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("right_margin", - _("Right margin"), - _("Number of pixels in right margin"), - 0, - G_MAXINT, - _ICON_LIST_RIGHT_MARGIN, - G_PARAM_READABLE)); + /* Style properties */ gtk_widget_class_install_style_property (widget_class, g_param_spec_boxed ("selection_box_color", - _("Selection Box Color"), - _("Color of the selection box"), + P_("Selection Box Color"), + P_("Color of the selection box"), GDK_TYPE_COLOR, G_PARAM_READABLE)); gtk_widget_class_install_style_property (widget_class, g_param_spec_uchar ("selection_box_alpha", - _("Selection Box Alpha"), - _("Opacity of the selection box"), + P_("Selection Box Alpha"), + P_("Opacity of the selection box"), 0, 0xff, 0x40, G_PARAM_READABLE)); @@ -403,74 +362,74 @@ egg_icon_list_class_init (EggIconListClass *klass) g_signal_new ("set_scroll_adjustments", G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (EggIconListClass, set_scroll_adjustments), + G_STRUCT_OFFSET (GtkIconViewClass, set_scroll_adjustments), NULL, NULL, - _egg_marshal_VOID__OBJECT_OBJECT, + _gtk_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT); - icon_list_signals[ITEM_ACTIVATED] = + icon_view_signals[ITEM_ACTIVATED] = g_signal_new ("item_activated", G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (EggIconListClass, item_activated), + G_STRUCT_OFFSET (GtkIconViewClass, item_activated), NULL, NULL, g_cclosure_marshal_VOID__BOXED, G_TYPE_NONE, 1, GTK_TYPE_TREE_PATH); - icon_list_signals[SELECTION_CHANGED] = + icon_view_signals[SELECTION_CHANGED] = g_signal_new ("selection_changed", G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (EggIconListClass, selection_changed), + G_STRUCT_OFFSET (GtkIconViewClass, selection_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); - icon_list_signals[SELECT_ALL] = + icon_view_signals[SELECT_ALL] = g_signal_new ("select_all", G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET (EggIconListClass, select_all), + G_STRUCT_OFFSET (GtkIconViewClass, select_all), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); - icon_list_signals[UNSELECT_ALL] = + icon_view_signals[UNSELECT_ALL] = g_signal_new ("unselect_all", G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET (EggIconListClass, unselect_all), + G_STRUCT_OFFSET (GtkIconViewClass, unselect_all), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); - icon_list_signals[SELECT_CURSOR_ITEM] = + icon_view_signals[SELECT_CURSOR_ITEM] = g_signal_new ("select_cursor_item", G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET (EggIconListClass, select_cursor_item), + G_STRUCT_OFFSET (GtkIconViewClass, select_cursor_item), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); - icon_list_signals[SELECT_CURSOR_ITEM] = + icon_view_signals[SELECT_CURSOR_ITEM] = g_signal_new ("toggle_cursor_item", G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET (EggIconListClass, toggle_cursor_item), + G_STRUCT_OFFSET (GtkIconViewClass, toggle_cursor_item), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); - icon_list_signals[MOVE_CURSOR] = + icon_view_signals[MOVE_CURSOR] = g_signal_new ("move_cursor", G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET (EggIconListClass, move_cursor), + G_STRUCT_OFFSET (GtkIconViewClass, move_cursor), NULL, NULL, - _egg_marshal_BOOLEAN__ENUM_INT, + _gtk_marshal_BOOLEAN__ENUM_INT, G_TYPE_BOOLEAN, 2, GTK_TYPE_MOVEMENT_STEP, G_TYPE_INT); @@ -481,137 +440,137 @@ egg_icon_list_class_init (EggIconListClass *klass) gtk_binding_entry_add_signal (binding_set, GDK_space, 0, "select_cursor_item", 0); gtk_binding_entry_add_signal (binding_set, GDK_space, GDK_CONTROL_MASK, "toggle_cursor_item", 0); - egg_icon_list_add_move_binding (binding_set, GDK_Up, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_Up, 0, GTK_MOVEMENT_DISPLAY_LINES, -1); - egg_icon_list_add_move_binding (binding_set, GDK_KP_Up, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_KP_Up, 0, GTK_MOVEMENT_DISPLAY_LINES, -1); - egg_icon_list_add_move_binding (binding_set, GDK_Down, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_Down, 0, GTK_MOVEMENT_DISPLAY_LINES, 1); - egg_icon_list_add_move_binding (binding_set, GDK_KP_Down, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_KP_Down, 0, GTK_MOVEMENT_DISPLAY_LINES, 1); - egg_icon_list_add_move_binding (binding_set, GDK_p, GDK_CONTROL_MASK, + gtk_icon_view_add_move_binding (binding_set, GDK_p, GDK_CONTROL_MASK, GTK_MOVEMENT_DISPLAY_LINES, -1); - egg_icon_list_add_move_binding (binding_set, GDK_n, GDK_CONTROL_MASK, + gtk_icon_view_add_move_binding (binding_set, GDK_n, GDK_CONTROL_MASK, GTK_MOVEMENT_DISPLAY_LINES, 1); - egg_icon_list_add_move_binding (binding_set, GDK_Home, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_Home, 0, GTK_MOVEMENT_BUFFER_ENDS, -1); - egg_icon_list_add_move_binding (binding_set, GDK_KP_Home, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_KP_Home, 0, GTK_MOVEMENT_BUFFER_ENDS, -1); - egg_icon_list_add_move_binding (binding_set, GDK_End, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_End, 0, GTK_MOVEMENT_BUFFER_ENDS, 1); - egg_icon_list_add_move_binding (binding_set, GDK_KP_End, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_KP_End, 0, GTK_MOVEMENT_BUFFER_ENDS, 1); - egg_icon_list_add_move_binding (binding_set, GDK_Page_Up, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_Page_Up, 0, GTK_MOVEMENT_PAGES, -1); - egg_icon_list_add_move_binding (binding_set, GDK_KP_Page_Up, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_KP_Page_Up, 0, GTK_MOVEMENT_PAGES, -1); - egg_icon_list_add_move_binding (binding_set, GDK_Page_Down, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_Page_Down, 0, GTK_MOVEMENT_PAGES, 1); - egg_icon_list_add_move_binding (binding_set, GDK_KP_Page_Down, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_KP_Page_Down, 0, GTK_MOVEMENT_PAGES, 1); - egg_icon_list_add_move_binding (binding_set, GDK_Right, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_Right, 0, GTK_MOVEMENT_VISUAL_POSITIONS, 1); - egg_icon_list_add_move_binding (binding_set, GDK_Left, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_Left, 0, GTK_MOVEMENT_VISUAL_POSITIONS, -1); - egg_icon_list_add_move_binding (binding_set, GDK_KP_Right, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_KP_Right, 0, GTK_MOVEMENT_VISUAL_POSITIONS, 1); - egg_icon_list_add_move_binding (binding_set, GDK_KP_Left, 0, + gtk_icon_view_add_move_binding (binding_set, GDK_KP_Left, 0, GTK_MOVEMENT_VISUAL_POSITIONS, -1); } static void -egg_icon_list_init (EggIconList *icon_list) +gtk_icon_view_init (GtkIconView *icon_view) { - icon_list->priv = EGG_ICON_LIST_GET_PRIVATE (icon_list); + icon_view->priv = GTK_ICON_VIEW_GET_PRIVATE (icon_view); - icon_list->priv->width = 0; - icon_list->priv->height = 0; - icon_list->priv->selection_mode = GTK_SELECTION_SINGLE; + icon_view->priv->width = 0; + icon_view->priv->height = 0; + icon_view->priv->selection_mode = GTK_SELECTION_SINGLE; #ifdef DND_WORKS - icon_list->priv->pressed_button = -1; - icon_list->priv->press_start_x = -1; - icon_list->priv->press_start_y = -1; + icon_view->priv->pressed_button = -1; + icon_view->priv->press_start_x = -1; + icon_view->priv->press_start_y = -1; #endif - icon_list->priv->text_column = -1; - icon_list->priv->markup_column = -1; - icon_list->priv->pixbuf_column = -1; + icon_view->priv->text_column = -1; + icon_view->priv->markup_column = -1; + icon_view->priv->pixbuf_column = -1; - icon_list->priv->layout = gtk_widget_create_pango_layout (GTK_WIDGET (icon_list), NULL); + icon_view->priv->layout = gtk_widget_create_pango_layout (GTK_WIDGET (icon_view), NULL); - pango_layout_set_wrap (icon_list->priv->layout, PANGO_WRAP_WORD_CHAR); + pango_layout_set_wrap (icon_view->priv->layout, PANGO_WRAP_WORD_CHAR); - GTK_WIDGET_SET_FLAGS (icon_list, GTK_CAN_FOCUS); + GTK_WIDGET_SET_FLAGS (icon_view, GTK_CAN_FOCUS); - egg_icon_list_set_adjustments (icon_list, NULL, NULL); + gtk_icon_view_set_adjustments (icon_view, NULL, NULL); } static void -egg_icon_list_destroy (GtkObject *object) +gtk_icon_view_destroy (GtkObject *object) { - EggIconList *icon_list; + GtkIconView *icon_view; - icon_list = EGG_ICON_LIST (object); + icon_view = GTK_ICON_VIEW (object); - egg_icon_list_set_model (icon_list, NULL); + gtk_icon_view_set_model (icon_view, NULL); - if (icon_list->priv->layout_idle_id != 0) - g_source_remove (icon_list->priv->layout_idle_id); + if (icon_view->priv->layout_idle_id != 0) + g_source_remove (icon_view->priv->layout_idle_id); - if (icon_list->priv->scroll_timeout_id != 0) - g_source_remove (icon_list->priv->scroll_timeout_id); + if (icon_view->priv->scroll_timeout_id != 0) + g_source_remove (icon_view->priv->scroll_timeout_id); (GTK_OBJECT_CLASS (parent_class)->destroy) (object); } /* GObject methods */ static void -egg_icon_list_finalize (GObject *object) +gtk_icon_view_finalize (GObject *object) { - EggIconList *icon_list; + GtkIconView *icon_view; - icon_list = EGG_ICON_LIST (object); + icon_view = GTK_ICON_VIEW (object); - g_object_unref (icon_list->priv->layout); + g_object_unref (icon_view->priv->layout); (G_OBJECT_CLASS (parent_class)->finalize) (object); } static void -egg_icon_list_set_property (GObject *object, +gtk_icon_view_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { - EggIconList *icon_list; + GtkIconView *icon_view; - icon_list = EGG_ICON_LIST (object); + icon_view = GTK_ICON_VIEW (object); switch (prop_id) { case PROP_SELECTION_MODE: - egg_icon_list_set_selection_mode (icon_list, g_value_get_enum (value)); + gtk_icon_view_set_selection_mode (icon_view, g_value_get_enum (value)); break; case PROP_PIXBUF_COLUMN: - egg_icon_list_set_pixbuf_column (icon_list, g_value_get_int (value)); + gtk_icon_view_set_pixbuf_column (icon_view, g_value_get_int (value)); break; case PROP_TEXT_COLUMN: - egg_icon_list_set_text_column (icon_list, g_value_get_int (value)); + gtk_icon_view_set_text_column (icon_view, g_value_get_int (value)); break; case PROP_MARKUP_COLUMN: - egg_icon_list_set_markup_column (icon_list, g_value_get_int (value)); + gtk_icon_view_set_markup_column (icon_view, g_value_get_int (value)); break; case PROP_MODEL: - egg_icon_list_set_model (icon_list, g_value_get_object (value)); + gtk_icon_view_set_model (icon_view, g_value_get_object (value)); break; default: @@ -621,31 +580,31 @@ egg_icon_list_set_property (GObject *object, } static void -egg_icon_list_get_property (GObject *object, +gtk_icon_view_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { - EggIconList *icon_list; + GtkIconView *icon_view; - icon_list = EGG_ICON_LIST (object); + icon_view = GTK_ICON_VIEW (object); switch (prop_id) { case PROP_SELECTION_MODE: - g_value_set_enum (value, icon_list->priv->selection_mode); + g_value_set_enum (value, icon_view->priv->selection_mode); break; case PROP_PIXBUF_COLUMN: - g_value_set_int (value, icon_list->priv->pixbuf_column); + g_value_set_int (value, icon_view->priv->pixbuf_column); break; case PROP_TEXT_COLUMN: - g_value_set_int (value, icon_list->priv->text_column); + g_value_set_int (value, icon_view->priv->text_column); break; case PROP_MARKUP_COLUMN: - g_value_set_int (value, icon_list->priv->markup_column); + g_value_set_int (value, icon_view->priv->markup_column); break; case PROP_MODEL: - g_value_set_object (value, icon_list->priv->model); + g_value_set_object (value, icon_view->priv->model); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -655,13 +614,13 @@ egg_icon_list_get_property (GObject *object, /* GtkWidget signals */ static void -egg_icon_list_realize (GtkWidget *widget) +gtk_icon_view_realize (GtkWidget *widget) { - EggIconList *icon_list; + GtkIconView *icon_view; GdkWindowAttr attributes; gint attributes_mask; - icon_list = EGG_ICON_LIST (widget); + icon_view = GTK_ICON_VIEW (widget); GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); @@ -685,8 +644,8 @@ egg_icon_list_realize (GtkWidget *widget) /* Make the window for the icon list */ attributes.x = 0; attributes.y = 0; - attributes.width = MAX (icon_list->priv->width, widget->allocation.width); - attributes.height = MAX (icon_list->priv->height, widget->allocation.height); + attributes.width = MAX (icon_view->priv->width, widget->allocation.width); + attributes.height = MAX (icon_view->priv->height, widget->allocation.height); attributes.event_mask = (GDK_EXPOSURE_MASK | GDK_SCROLL_MASK | GDK_POINTER_MOTION_MASK | @@ -696,27 +655,27 @@ egg_icon_list_realize (GtkWidget *widget) GDK_KEY_RELEASE_MASK) | gtk_widget_get_events (widget); - icon_list->priv->bin_window = gdk_window_new (widget->window, + icon_view->priv->bin_window = gdk_window_new (widget->window, &attributes, attributes_mask); - gdk_window_set_user_data (icon_list->priv->bin_window, widget); + gdk_window_set_user_data (icon_view->priv->bin_window, widget); widget->style = gtk_style_attach (widget->style, widget->window); - gdk_window_set_background (icon_list->priv->bin_window, &widget->style->base[widget->state]); + gdk_window_set_background (icon_view->priv->bin_window, &widget->style->base[widget->state]); gdk_window_set_background (widget->window, &widget->style->base[widget->state]); } static void -egg_icon_list_unrealize (GtkWidget *widget) +gtk_icon_view_unrealize (GtkWidget *widget) { - EggIconList *icon_list; + GtkIconView *icon_view; - icon_list = EGG_ICON_LIST (widget); + icon_view = GTK_ICON_VIEW (widget); - gdk_window_set_user_data (icon_list->priv->bin_window, NULL); - gdk_window_destroy (icon_list->priv->bin_window); - icon_list->priv->bin_window = NULL; + gdk_window_set_user_data (icon_view->priv->bin_window, NULL); + gdk_window_destroy (icon_view->priv->bin_window); + icon_view->priv->bin_window = NULL; /* GtkWidget::unrealize destroys children and widget->window */ if (GTK_WIDGET_CLASS (parent_class)->unrealize) @@ -724,81 +683,81 @@ egg_icon_list_unrealize (GtkWidget *widget) } static void -egg_icon_list_map (GtkWidget *widget) +gtk_icon_view_map (GtkWidget *widget) { - EggIconList *icon_list; + GtkIconView *icon_view; - icon_list = EGG_ICON_LIST (widget); + icon_view = GTK_ICON_VIEW (widget); GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED); - gdk_window_show (icon_list->priv->bin_window); + gdk_window_show (icon_view->priv->bin_window); gdk_window_show (widget->window); } static void -egg_icon_list_size_request (GtkWidget *widget, +gtk_icon_view_size_request (GtkWidget *widget, GtkRequisition *requisition) { - EggIconList *icon_list; + GtkIconView *icon_view; - icon_list = EGG_ICON_LIST (widget); + icon_view = GTK_ICON_VIEW (widget); - requisition->width = icon_list->priv->width; - requisition->height = icon_list->priv->height; + requisition->width = icon_view->priv->width; + requisition->height = icon_view->priv->height; } static void -egg_icon_list_size_allocate (GtkWidget *widget, +gtk_icon_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { - EggIconList *icon_list; + GtkIconView *icon_view; widget->allocation = *allocation; - icon_list = EGG_ICON_LIST (widget); + icon_view = GTK_ICON_VIEW (widget); if (GTK_WIDGET_REALIZED (widget)) { gdk_window_move_resize (widget->window, allocation->x, allocation->y, allocation->width, allocation->height); - gdk_window_resize (icon_list->priv->bin_window, - MAX (icon_list->priv->width, allocation->width), - MAX (icon_list->priv->height, allocation->height)); + gdk_window_resize (icon_view->priv->bin_window, + MAX (icon_view->priv->width, allocation->width), + MAX (icon_view->priv->height, allocation->height)); } - icon_list->priv->hadjustment->page_size = allocation->width; - icon_list->priv->hadjustment->page_increment = allocation->width * 0.9; - icon_list->priv->hadjustment->step_increment = allocation->width * 0.1; - icon_list->priv->hadjustment->lower = 0; - icon_list->priv->hadjustment->upper = MAX (allocation->width, icon_list->priv->width); - gtk_adjustment_changed (icon_list->priv->hadjustment); + icon_view->priv->hadjustment->page_size = allocation->width; + icon_view->priv->hadjustment->page_increment = allocation->width * 0.9; + icon_view->priv->hadjustment->step_increment = allocation->width * 0.1; + icon_view->priv->hadjustment->lower = 0; + icon_view->priv->hadjustment->upper = MAX (allocation->width, icon_view->priv->width); + gtk_adjustment_changed (icon_view->priv->hadjustment); - icon_list->priv->vadjustment->page_size = allocation->height; - icon_list->priv->vadjustment->page_increment = allocation->height * 0.9; - icon_list->priv->vadjustment->step_increment = allocation->width * 0.1; - icon_list->priv->vadjustment->lower = 0; - icon_list->priv->vadjustment->upper = MAX (allocation->height, icon_list->priv->height); - gtk_adjustment_changed (icon_list->priv->vadjustment); + icon_view->priv->vadjustment->page_size = allocation->height; + icon_view->priv->vadjustment->page_increment = allocation->height * 0.9; + icon_view->priv->vadjustment->step_increment = allocation->width * 0.1; + icon_view->priv->vadjustment->lower = 0; + icon_view->priv->vadjustment->upper = MAX (allocation->height, icon_view->priv->height); + gtk_adjustment_changed (icon_view->priv->vadjustment); - egg_icon_list_layout (icon_list); + gtk_icon_view_layout (icon_view); } static gboolean -egg_icon_list_expose (GtkWidget *widget, +gtk_icon_view_expose (GtkWidget *widget, GdkEventExpose *expose) { - EggIconList *icon_list; + GtkIconView *icon_view; GList *icons; - icon_list = EGG_ICON_LIST (widget); + icon_view = GTK_ICON_VIEW (widget); - if (expose->window != icon_list->priv->bin_window) + if (expose->window != icon_view->priv->bin_window) return FALSE; - for (icons = icon_list->priv->items; icons; icons = icons->next) { - EggIconListItem *item = icons->data; + for (icons = icon_view->priv->items; icons; icons = icons->next) { + GtkIconViewItem *item = icons->data; GdkRectangle item_rectangle; item_rectangle.x = item->x; @@ -809,10 +768,10 @@ egg_icon_list_expose (GtkWidget *widget, if (gdk_region_rect_in (expose->region, &item_rectangle) == GDK_OVERLAP_RECTANGLE_OUT) continue; - egg_icon_list_paint_item (icon_list, item, &expose->area); + gtk_icon_view_paint_item (icon_view, item, &expose->area); } - if (icon_list->priv->doing_rubberband) + if (icon_view->priv->doing_rubberband) { GdkRectangle *rectangles; gint n_rectangles; @@ -822,7 +781,7 @@ egg_icon_list_expose (GtkWidget *widget, &n_rectangles); while (n_rectangles--) - egg_icon_list_paint_rubberband (icon_list, &rectangles[n_rectangles]); + gtk_icon_view_paint_rubberband (icon_view, &rectangles[n_rectangles]); g_free (rectangles); } @@ -833,62 +792,62 @@ egg_icon_list_expose (GtkWidget *widget, static gboolean scroll_timeout (gpointer data) { - EggIconList *icon_list; + GtkIconView *icon_view; gdouble value; - icon_list = data; + icon_view = data; - value = MIN (icon_list->priv->vadjustment->value + - icon_list->priv->scroll_value_diff, - icon_list->priv->vadjustment->upper - - icon_list->priv->vadjustment->page_size); + value = MIN (icon_view->priv->vadjustment->value + + icon_view->priv->scroll_value_diff, + icon_view->priv->vadjustment->upper - + icon_view->priv->vadjustment->page_size); - gtk_adjustment_set_value (icon_list->priv->vadjustment, + gtk_adjustment_set_value (icon_view->priv->vadjustment, value); - egg_icon_list_update_rubberband (icon_list); + gtk_icon_view_update_rubberband (icon_view); return TRUE; } static gboolean -egg_icon_list_motion (GtkWidget *widget, +gtk_icon_view_motion (GtkWidget *widget, GdkEventMotion *event) { - EggIconList *icon_list; + GtkIconView *icon_view; gint abs_y; - icon_list = EGG_ICON_LIST (widget); + icon_view = GTK_ICON_VIEW (widget); #ifdef DND_WORKS - egg_icon_list_maybe_begin_dragging_items (icon_list, event); + gtk_icon_view_maybe_begin_dragging_items (icon_view, event); #endif - if (icon_list->priv->doing_rubberband) + if (icon_view->priv->doing_rubberband) { - egg_icon_list_update_rubberband (widget); + gtk_icon_view_update_rubberband (widget); - abs_y = event->y - icon_list->priv->height * - (icon_list->priv->vadjustment->value / - (icon_list->priv->vadjustment->upper - - icon_list->priv->vadjustment->lower)); + abs_y = event->y - icon_view->priv->height * + (icon_view->priv->vadjustment->value / + (icon_view->priv->vadjustment->upper - + icon_view->priv->vadjustment->lower)); if (abs_y < 0 || abs_y > widget->allocation.height) { - if (icon_list->priv->scroll_timeout_id == 0) - icon_list->priv->scroll_timeout_id = g_timeout_add (30, scroll_timeout, icon_list); + if (icon_view->priv->scroll_timeout_id == 0) + icon_view->priv->scroll_timeout_id = g_timeout_add (30, scroll_timeout, icon_view); if (abs_y < 0) - icon_list->priv->scroll_value_diff = abs_y; + icon_view->priv->scroll_value_diff = abs_y; else - icon_list->priv->scroll_value_diff = abs_y - widget->allocation.height; + icon_view->priv->scroll_value_diff = abs_y - widget->allocation.height; - icon_list->priv->event_last_x = event->x; - icon_list->priv->event_last_y = event->y; + icon_view->priv->event_last_x = event->x; + icon_view->priv->event_last_y = event->y; } - else if (icon_list->priv->scroll_timeout_id != 0) + else if (icon_view->priv->scroll_timeout_id != 0) { - g_source_remove (icon_list->priv->scroll_timeout_id); + g_source_remove (icon_view->priv->scroll_timeout_id); - icon_list->priv->scroll_timeout_id = 0; + icon_view->priv->scroll_timeout_id = 0; } } @@ -896,16 +855,16 @@ egg_icon_list_motion (GtkWidget *widget, } static gboolean -egg_icon_list_button_press (GtkWidget *widget, +gtk_icon_view_button_press (GtkWidget *widget, GdkEventButton *event) { - EggIconList *icon_list; - EggIconListItem *item; + GtkIconView *icon_view; + GtkIconViewItem *item; gboolean dirty = FALSE; - icon_list = EGG_ICON_LIST (widget); + icon_view = GTK_ICON_VIEW (widget); - if (event->window != icon_list->priv->bin_window) + if (event->window != icon_view->priv->bin_window) return FALSE; if (!GTK_WIDGET_HAS_FOCUS (widget)) @@ -914,121 +873,121 @@ egg_icon_list_button_press (GtkWidget *widget, if (event->button == 1 && event->type == GDK_BUTTON_PRESS) { - item = egg_icon_list_get_item_at_pos (icon_list, + item = gtk_icon_view_get_item_at_pos (icon_view, event->x, event->y); if (item != NULL) { - egg_icon_list_scroll_to_item (icon_list, item); + gtk_icon_view_scroll_to_item (icon_view, item); - if (icon_list->priv->selection_mode == GTK_SELECTION_NONE) + if (icon_view->priv->selection_mode == GTK_SELECTION_NONE) { - egg_icon_list_set_cursor_item (icon_list, item); + gtk_icon_view_set_cursor_item (icon_view, item); } - else if (icon_list->priv->selection_mode == GTK_SELECTION_MULTIPLE && + else if (icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE && (event->state & GDK_SHIFT_MASK)) { - egg_icon_list_unselect_all_internal (icon_list); + gtk_icon_view_unselect_all_internal (icon_view); - egg_icon_list_set_cursor_item (icon_list, item); - if (!icon_list->priv->anchor_item) - icon_list->priv->anchor_item = item; + gtk_icon_view_set_cursor_item (icon_view, item); + if (!icon_view->priv->anchor_item) + icon_view->priv->anchor_item = item; else - egg_icon_list_select_all_between (icon_list, - icon_list->priv->anchor_item, + gtk_icon_view_select_all_between (icon_view, + icon_view->priv->anchor_item, item); dirty = TRUE; } else { - if (icon_list->priv->selection_mode == GTK_SELECTION_MULTIPLE && + if (icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE && (event->state & GDK_CONTROL_MASK)) { item->selected = !item->selected; - egg_icon_list_queue_draw_item (icon_list, item); + gtk_icon_view_queue_draw_item (icon_view, item); dirty = TRUE; } else { if (!item->selected) { - egg_icon_list_unselect_all_internal (icon_list); + gtk_icon_view_unselect_all_internal (icon_view); item->selected = TRUE; - egg_icon_list_queue_draw_item (icon_list, item); + gtk_icon_view_queue_draw_item (icon_view, item); dirty = TRUE; } } - egg_icon_list_set_cursor_item (icon_list, item); - icon_list->priv->anchor_item = item; + gtk_icon_view_set_cursor_item (icon_view, item); + icon_view->priv->anchor_item = item; } #ifdef DND_WORKS /* Save press to possibly begin a drag */ - if (icon_list->priv->pressed_button < 0) + if (icon_view->priv->pressed_button < 0) { - icon_list->priv->pressed_button = event->button; - icon_list->priv->press_start_x = event->x; - icon_list->priv->press_start_y = event->y; + icon_view->priv->pressed_button = event->button; + icon_view->priv->press_start_x = event->x; + icon_view->priv->press_start_y = event->y; } #endif - if (!icon_list->priv->last_single_clicked) - icon_list->priv->last_single_clicked = item; + if (!icon_view->priv->last_single_clicked) + icon_view->priv->last_single_clicked = item; } else { - if (icon_list->priv->selection_mode != GTK_SELECTION_BROWSE && + if (icon_view->priv->selection_mode != GTK_SELECTION_BROWSE && !(event->state & GDK_CONTROL_MASK)) { - dirty = egg_icon_list_unselect_all_internal (icon_list); + dirty = gtk_icon_view_unselect_all_internal (icon_view); } - if (icon_list->priv->selection_mode == GTK_SELECTION_MULTIPLE) - egg_icon_list_start_rubberbanding (icon_list, event->x, event->y); + if (icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE) + gtk_icon_view_start_rubberbanding (icon_view, event->x, event->y); } } if (event->button == 1 && event->type == GDK_2BUTTON_PRESS) { - item = egg_icon_list_get_item_at_pos (icon_list, + item = gtk_icon_view_get_item_at_pos (icon_view, event->x, event->y); - if (item && item == icon_list->priv->last_single_clicked) + if (item && item == icon_view->priv->last_single_clicked) { GtkTreePath *path; path = gtk_tree_path_new_from_indices (item->index, -1); - egg_icon_list_item_activated (icon_list, path); + gtk_icon_view_item_activated (icon_view, path); gtk_tree_path_free (path); } - icon_list->priv->last_single_clicked = NULL; + icon_view->priv->last_single_clicked = NULL; } if (dirty) - g_signal_emit (icon_list, icon_list_signals[SELECTION_CHANGED], 0); + g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); return TRUE; } static gboolean -egg_icon_list_button_release (GtkWidget *widget, +gtk_icon_view_button_release (GtkWidget *widget, GdkEventButton *event) { - EggIconList *icon_list; + GtkIconView *icon_view; - icon_list = EGG_ICON_LIST (widget); + icon_view = GTK_ICON_VIEW (widget); #ifdef DND_WORKS - if (icon_list->priv->pressed_button == event->button) - icon_list->priv->pressed_button = -1; + if (icon_view->priv->pressed_button == event->button) + icon_view->priv->pressed_button = -1; #endif - egg_icon_list_stop_rubberbanding (icon_list); + gtk_icon_view_stop_rubberbanding (icon_view); - if (icon_list->priv->scroll_timeout_id != 0) + if (icon_view->priv->scroll_timeout_id != 0) { - g_source_remove (icon_list->priv->scroll_timeout_id); - icon_list->priv->scroll_timeout_id = 0; + g_source_remove (icon_view->priv->scroll_timeout_id); + icon_view->priv->scroll_timeout_id = 0; } return TRUE; @@ -1036,35 +995,35 @@ egg_icon_list_button_release (GtkWidget *widget, static void -egg_icon_list_update_rubberband (gpointer data) +gtk_icon_view_update_rubberband (gpointer data) { - EggIconList *icon_list; + GtkIconView *icon_view; gint x, y; GdkRectangle old_area; GdkRectangle new_area; GdkRectangle common; GdkRegion *invalid_region; - icon_list = EGG_ICON_LIST (data); + icon_view = GTK_ICON_VIEW (data); - gdk_window_get_pointer (icon_list->priv->bin_window, &x, &y, NULL); + gdk_window_get_pointer (icon_view->priv->bin_window, &x, &y, NULL); x = MAX (x, 0); y = MAX (y, 0); - old_area.x = MIN (icon_list->priv->rubberband_x1, - icon_list->priv->rubberband_x2); - old_area.y = MIN (icon_list->priv->rubberband_y1, - icon_list->priv->rubberband_y2); - old_area.width = ABS (icon_list->priv->rubberband_x2 - - icon_list->priv->rubberband_x1) + 1; - old_area.height = ABS (icon_list->priv->rubberband_y2 - - icon_list->priv->rubberband_y1) + 1; + old_area.x = MIN (icon_view->priv->rubberband_x1, + icon_view->priv->rubberband_x2); + old_area.y = MIN (icon_view->priv->rubberband_y1, + icon_view->priv->rubberband_y2); + old_area.width = ABS (icon_view->priv->rubberband_x2 - + icon_view->priv->rubberband_x1) + 1; + old_area.height = ABS (icon_view->priv->rubberband_y2 - + icon_view->priv->rubberband_y1) + 1; - new_area.x = MIN (icon_list->priv->rubberband_x1, x); - new_area.y = MIN (icon_list->priv->rubberband_y1, y); - new_area.width = ABS (x - icon_list->priv->rubberband_x1) + 1; - new_area.height = ABS (y - icon_list->priv->rubberband_y1) + 1; + new_area.x = MIN (icon_view->priv->rubberband_x1, x); + new_area.y = MIN (icon_view->priv->rubberband_y1, y); + new_area.width = ABS (x - icon_view->priv->rubberband_x1) + 1; + new_area.height = ABS (y - icon_view->priv->rubberband_y1) + 1; invalid_region = gdk_region_rectangle (&old_area); gdk_region_union_with_rect (invalid_region, &new_area); @@ -1086,78 +1045,78 @@ egg_icon_list_update_rubberband (gpointer data) gdk_region_destroy (common_region); } - gdk_window_invalidate_region (icon_list->priv->bin_window, invalid_region, TRUE); + gdk_window_invalidate_region (icon_view->priv->bin_window, invalid_region, TRUE); gdk_region_destroy (invalid_region); - icon_list->priv->rubberband_x2 = x; - icon_list->priv->rubberband_y2 = y; + icon_view->priv->rubberband_x2 = x; + icon_view->priv->rubberband_y2 = y; - egg_icon_list_update_rubberband_selection (icon_list); + gtk_icon_view_update_rubberband_selection (icon_view); } static void -egg_icon_list_start_rubberbanding (EggIconList *icon_list, +gtk_icon_view_start_rubberbanding (GtkIconView *icon_view, gint x, gint y) { GList *items; - g_assert (!icon_list->priv->doing_rubberband); + g_assert (!icon_view->priv->doing_rubberband); - for (items = icon_list->priv->items; items; items = items->next) + for (items = icon_view->priv->items; items; items = items->next) { - EggIconListItem *item = items->data; + GtkIconViewItem *item = items->data; item->selected_before_rubberbanding = item->selected; } - icon_list->priv->rubberband_x1 = x; - icon_list->priv->rubberband_y1 = y; - icon_list->priv->rubberband_x2 = x; - icon_list->priv->rubberband_y2 = y; + icon_view->priv->rubberband_x1 = x; + icon_view->priv->rubberband_y1 = y; + icon_view->priv->rubberband_x2 = x; + icon_view->priv->rubberband_y2 = y; - icon_list->priv->doing_rubberband = TRUE; + icon_view->priv->doing_rubberband = TRUE; - gtk_grab_add (GTK_WIDGET (icon_list)); + gtk_grab_add (GTK_WIDGET (icon_view)); } static void -egg_icon_list_stop_rubberbanding (EggIconList *icon_list) +gtk_icon_view_stop_rubberbanding (GtkIconView *icon_view) { - if (!icon_list->priv->doing_rubberband) + if (!icon_view->priv->doing_rubberband) return; - icon_list->priv->doing_rubberband = FALSE; + icon_view->priv->doing_rubberband = FALSE; - gtk_grab_remove (GTK_WIDGET (icon_list)); + gtk_grab_remove (GTK_WIDGET (icon_view)); - gtk_widget_queue_draw (GTK_WIDGET (icon_list)); + gtk_widget_queue_draw (GTK_WIDGET (icon_view)); } static void -egg_icon_list_update_rubberband_selection (EggIconList *icon_list) +gtk_icon_view_update_rubberband_selection (GtkIconView *icon_view) { GList *items; gint x, y, width, height; gboolean dirty = FALSE; - x = MIN (icon_list->priv->rubberband_x1, - icon_list->priv->rubberband_x2); - y = MIN (icon_list->priv->rubberband_y1, - icon_list->priv->rubberband_y2); - width = ABS (icon_list->priv->rubberband_x1 - - icon_list->priv->rubberband_x2); - height = ABS (icon_list->priv->rubberband_y1 - - icon_list->priv->rubberband_y2); + x = MIN (icon_view->priv->rubberband_x1, + icon_view->priv->rubberband_x2); + y = MIN (icon_view->priv->rubberband_y1, + icon_view->priv->rubberband_y2); + width = ABS (icon_view->priv->rubberband_x1 - + icon_view->priv->rubberband_x2); + height = ABS (icon_view->priv->rubberband_y1 - + icon_view->priv->rubberband_y2); - for (items = icon_list->priv->items; items; items = items->next) + for (items = icon_view->priv->items; items; items = items->next) { - EggIconListItem *item = items->data; + GtkIconViewItem *item = items->data; gboolean is_in; gboolean selected; - is_in = egg_icon_list_item_hit_test (item, x, y, width, height); + is_in = gtk_icon_view_item_hit_test (item, x, y, width, height); selected = is_in ^ item->selected_before_rubberbanding; @@ -1165,16 +1124,16 @@ egg_icon_list_update_rubberband_selection (EggIconList *icon_list) { item->selected = selected; dirty = TRUE; - egg_icon_list_queue_draw_item (icon_list, item); + gtk_icon_view_queue_draw_item (icon_view, item); } } if (dirty) - g_signal_emit (icon_list, icon_list_signals[SELECTION_CHANGED], 0); + g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } static gboolean -egg_icon_list_item_hit_test (EggIconListItem *item, +gtk_icon_view_item_hit_test (GtkIconViewItem *item, gint x, gint y, gint width, @@ -1195,45 +1154,45 @@ egg_icon_list_item_hit_test (EggIconListItem *item, #ifdef DND_WORKS static gboolean -egg_icon_list_maybe_begin_dragging_items (EggIconList *icon_list, +gtk_icon_view_maybe_begin_dragging_items (GtkIconView *icon_view, GdkEventMotion *event) { gboolean retval = FALSE; gint button; - if (icon_list->priv->pressed_button < 0) + if (icon_view->priv->pressed_button < 0) return retval; - if (!gtk_drag_check_threshold (GTK_WIDGET (icon_list), - icon_list->priv->press_start_x, - icon_list->priv->press_start_y, + if (!gtk_drag_check_threshold (GTK_WIDGET (icon_view), + icon_view->priv->press_start_x, + icon_view->priv->press_start_y, event->x, event->y)) return retval; - button = icon_list->priv->pressed_button; - icon_list->priv->pressed_button = -1; + button = icon_view->priv->pressed_button; + icon_view->priv->pressed_button = -1; { static GtkTargetEntry row_targets[] = { - { "EGG_ICON_LIST_ITEMS", GTK_TARGET_SAME_APP, 0 } + { "GTK_ICON_VIEW_ITEMS", GTK_TARGET_SAME_APP, 0 } }; GtkTargetList *target_list; GdkDragContext *context; - EggIconListItem *item; + GtkIconViewItem *item; retval = TRUE; target_list = gtk_target_list_new (row_targets, G_N_ELEMENTS (row_targets)); - context = gtk_drag_begin (GTK_WIDGET (icon_list), + context = gtk_drag_begin (GTK_WIDGET (icon_view), target_list, GDK_ACTION_MOVE, button, (GdkEvent *)event); - item = egg_icon_list_get_item_at_pos (icon_list, - icon_list->priv->press_start_x, - icon_list->priv->press_start_y); + item = gtk_icon_view_get_item_at_pos (icon_view, + icon_view->priv->press_start_x, + icon_view->priv->press_start_y); g_assert (item != NULL); - gtk_drag_set_icon_pixbuf (context, egg_icon_list_get_item_icon (icon_list, item), + gtk_drag_set_icon_pixbuf (context, gtk_icon_view_get_item_icon (icon_view, item), event->x - item->x, event->y - item->y); } @@ -1243,24 +1202,24 @@ egg_icon_list_maybe_begin_dragging_items (EggIconList *icon_list, #endif static gboolean -egg_icon_list_unselect_all_internal (EggIconList *icon_list) +gtk_icon_view_unselect_all_internal (GtkIconView *icon_view) { gboolean dirty = FALSE; GList *items; - if (icon_list->priv->selection_mode == GTK_SELECTION_NONE || - icon_list->priv->selection_mode == GTK_SELECTION_BROWSE) + if (icon_view->priv->selection_mode == GTK_SELECTION_NONE || + icon_view->priv->selection_mode == GTK_SELECTION_BROWSE) return FALSE; - for (items = icon_list->priv->items; items; items = items->next) + for (items = icon_view->priv->items; items; items = items->next) { - EggIconListItem *item = items->data; + GtkIconViewItem *item = items->data; if (item->selected) { item->selected = FALSE; dirty = TRUE; - egg_icon_list_queue_draw_item (icon_list, item); + gtk_icon_view_queue_draw_item (icon_view, item); } } @@ -1268,9 +1227,9 @@ egg_icon_list_unselect_all_internal (EggIconList *icon_list) } -/* EggIconList signals */ +/* GtkIconView signals */ static void -egg_icon_list_set_adjustments (EggIconList *icon_list, +gtk_icon_view_set_adjustments (GtkIconView *icon_view, GtkAdjustment *hadj, GtkAdjustment *vadj) { @@ -1285,128 +1244,126 @@ egg_icon_list_set_adjustments (EggIconList *icon_list, else vadj = GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0)); - if (icon_list->priv->hadjustment && (icon_list->priv->hadjustment != hadj)) + if (icon_view->priv->hadjustment && (icon_view->priv->hadjustment != hadj)) { - g_signal_handlers_disconnect_matched (icon_list->priv->hadjustment, G_SIGNAL_MATCH_DATA, - 0, 0, NULL, NULL, icon_list); - g_object_unref (icon_list->priv->hadjustment); + g_signal_handlers_disconnect_matched (icon_view->priv->hadjustment, G_SIGNAL_MATCH_DATA, + 0, 0, NULL, NULL, icon_view); + g_object_unref (icon_view->priv->hadjustment); } - if (icon_list->priv->vadjustment && (icon_list->priv->vadjustment != vadj)) + if (icon_view->priv->vadjustment && (icon_view->priv->vadjustment != vadj)) { - g_signal_handlers_disconnect_matched (icon_list->priv->vadjustment, G_SIGNAL_MATCH_DATA, - 0, 0, NULL, NULL, icon_list); - g_object_unref (icon_list->priv->vadjustment); + g_signal_handlers_disconnect_matched (icon_view->priv->vadjustment, G_SIGNAL_MATCH_DATA, + 0, 0, NULL, NULL, icon_view); + g_object_unref (icon_view->priv->vadjustment); } - if (icon_list->priv->hadjustment != hadj) + if (icon_view->priv->hadjustment != hadj) { - icon_list->priv->hadjustment = hadj; - g_object_ref (icon_list->priv->hadjustment); - gtk_object_sink (GTK_OBJECT (icon_list->priv->hadjustment)); + icon_view->priv->hadjustment = hadj; + g_object_ref (icon_view->priv->hadjustment); + gtk_object_sink (GTK_OBJECT (icon_view->priv->hadjustment)); - g_signal_connect (icon_list->priv->hadjustment, "value_changed", - G_CALLBACK (egg_icon_list_adjustment_changed), - icon_list); + g_signal_connect (icon_view->priv->hadjustment, "value_changed", + G_CALLBACK (gtk_icon_view_adjustment_changed), + icon_view); need_adjust = TRUE; } - if (icon_list->priv->vadjustment != vadj) + if (icon_view->priv->vadjustment != vadj) { - icon_list->priv->vadjustment = vadj; - g_object_ref (icon_list->priv->vadjustment); - gtk_object_sink (GTK_OBJECT (icon_list->priv->vadjustment)); + icon_view->priv->vadjustment = vadj; + g_object_ref (icon_view->priv->vadjustment); + gtk_object_sink (GTK_OBJECT (icon_view->priv->vadjustment)); - g_signal_connect (icon_list->priv->vadjustment, "value_changed", - G_CALLBACK (egg_icon_list_adjustment_changed), - icon_list); + g_signal_connect (icon_view->priv->vadjustment, "value_changed", + G_CALLBACK (gtk_icon_view_adjustment_changed), + icon_view); need_adjust = TRUE; } if (need_adjust) - egg_icon_list_adjustment_changed (NULL, icon_list); + gtk_icon_view_adjustment_changed (NULL, icon_view); } static void -egg_icon_list_real_select_all (EggIconList *icon_list) +gtk_icon_view_real_select_all (GtkIconView *icon_view) { - egg_icon_list_select_all (icon_list); + gtk_icon_view_select_all (icon_view); } static void -egg_icon_list_real_unselect_all (EggIconList *icon_list) +gtk_icon_view_real_unselect_all (GtkIconView *icon_view) { - if (icon_list->priv->selection_mode == GTK_SELECTION_BROWSE) + if (icon_view->priv->selection_mode == GTK_SELECTION_BROWSE) return; - egg_icon_list_unselect_all (icon_list); + gtk_icon_view_unselect_all (icon_view); } static void -egg_icon_list_real_select_cursor_item (EggIconList *icon_list) +gtk_icon_view_real_select_cursor_item (GtkIconView *icon_view) { - egg_icon_list_unselect_all (icon_list); + gtk_icon_view_unselect_all (icon_view); - if (icon_list->priv->cursor_item != NULL) - egg_icon_list_select_item (icon_list, icon_list->priv->cursor_item); + if (icon_view->priv->cursor_item != NULL) + gtk_icon_view_select_item (icon_view, icon_view->priv->cursor_item); } static void -egg_icon_list_real_toggle_cursor_item (EggIconList *icon_list) +gtk_icon_view_real_toggle_cursor_item (GtkIconView *icon_view) { - if (!icon_list->priv->cursor_item) + if (!icon_view->priv->cursor_item) return; - switch (icon_list->priv->selection_mode) + switch (icon_view->priv->selection_mode) { case GTK_SELECTION_NONE: break; case GTK_SELECTION_BROWSE: - egg_icon_list_select_item (icon_list, icon_list->priv->cursor_item); + gtk_icon_view_select_item (icon_view, icon_view->priv->cursor_item); break; case GTK_SELECTION_SINGLE: - if (icon_list->priv->cursor_item->selected) - egg_icon_list_unselect_item (icon_list, icon_list->priv->cursor_item); + if (icon_view->priv->cursor_item->selected) + gtk_icon_view_unselect_item (icon_view, icon_view->priv->cursor_item); else - egg_icon_list_select_item (icon_list, icon_list->priv->cursor_item); + gtk_icon_view_select_item (icon_view, icon_view->priv->cursor_item); break; case GTK_SELECTION_MULTIPLE: - icon_list->priv->cursor_item->selected = !icon_list->priv->cursor_item->selected; - g_signal_emit (icon_list, icon_list_signals[SELECTION_CHANGED], 0); + icon_view->priv->cursor_item->selected = !icon_view->priv->cursor_item->selected; + g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); - egg_icon_list_queue_draw_item (icon_list, icon_list->priv->cursor_item); + gtk_icon_view_queue_draw_item (icon_view, icon_view->priv->cursor_item); break; } } /* Internal functions */ static void -egg_icon_list_adjustment_changed (GtkAdjustment *adjustment, - EggIconList *icon_list) +gtk_icon_view_adjustment_changed (GtkAdjustment *adjustment, + GtkIconView *icon_view) { - if (GTK_WIDGET_REALIZED (icon_list)) + if (GTK_WIDGET_REALIZED (icon_view)) { - gdk_window_move (icon_list->priv->bin_window, - - icon_list->priv->hadjustment->value, - - icon_list->priv->vadjustment->value); + gdk_window_move (icon_view->priv->bin_window, + - icon_view->priv->hadjustment->value, + - icon_view->priv->vadjustment->value); - if (icon_list->priv->doing_rubberband) - egg_icon_list_update_rubberband (GTK_WIDGET (icon_list)); + if (icon_view->priv->doing_rubberband) + gtk_icon_view_update_rubberband (GTK_WIDGET (icon_view)); - gdk_window_process_updates (icon_list->priv->bin_window, TRUE); + gdk_window_process_updates (icon_view->priv->bin_window, TRUE); } } static GList * -egg_icon_list_layout_single_row (EggIconList *icon_list, GList *first_item, gint *y, gint *maximum_width, gint row) +gtk_icon_view_layout_single_row (GtkIconView *icon_view, GList *first_item, gint *y, gint *maximum_width, gint row) { gint x, current_width, max_height, max_pixbuf_height; GList *items, *last_item; - gint icon_padding; - gint left_margin, right_margin; gint maximum_layout_width; gint col; - gboolean rtl = gtk_widget_get_direction (GTK_WIDGET (icon_list)) == GTK_TEXT_DIR_RTL; + gboolean rtl = gtk_widget_get_direction (GTK_WIDGET (icon_view)) == GTK_TEXT_DIR_RTL; x = 0; col = 0; @@ -1415,34 +1372,28 @@ egg_icon_list_layout_single_row (EggIconList *icon_list, GList *first_item, gint items = first_item; current_width = 0; - gtk_widget_style_get (GTK_WIDGET (icon_list), - "icon_padding", &icon_padding, - "left_margin", &left_margin, - "right_margin", &right_margin, - NULL); - - x += left_margin; - current_width += left_margin + right_margin; + x += ICON_VIEW_LEFT_MARGIN; + current_width += ICON_VIEW_LEFT_MARGIN + ICON_VIEW_RIGHT_MARGIN; items = first_item; while (items) { - EggIconListItem *item = items->data; + GtkIconViewItem *item = items->data; - egg_icon_list_calculate_item_size (icon_list, item); + gtk_icon_view_calculate_item_size (icon_view, item); current_width += MAX (item->width, MINIMUM_ICON_ITEM_WIDTH); /* Don't add padding to the first or last icon */ - if (current_width > GTK_WIDGET (icon_list)->allocation.width && + if (current_width > GTK_WIDGET (icon_view)->allocation.width && items != first_item) break; maximum_layout_width = MAX (item->pixbuf_width, MINIMUM_ICON_ITEM_WIDTH); item->y = *y; - item->x = rtl ? GTK_WIDGET (icon_list)->allocation.width - item->width - x : x; + item->x = rtl ? GTK_WIDGET (icon_view)->allocation.width - item->width - x : x; if (item->width < MINIMUM_ICON_ITEM_WIDTH) { if (rtl) item->x -= (MINIMUM_ICON_ITEM_WIDTH - item->width) / 2; @@ -1471,12 +1422,12 @@ egg_icon_list_layout_single_row (EggIconList *icon_list, GList *first_item, gint last_item = items; - *y += max_height + icon_padding; + *y += max_height + ICON_VIEW_ICON_PADDING; /* Now go through the row again and align the icons */ for (items = first_item; items != last_item; items = items->next) { - EggIconListItem *item = items->data; + GtkIconViewItem *item = items->data; item->pixbuf_y = item->y + (max_pixbuf_height - item->pixbuf_height); item->layout_y = item->pixbuf_y + item->pixbuf_height + ICON_TEXT_PADDING; @@ -1495,7 +1446,7 @@ egg_icon_list_layout_single_row (EggIconList *icon_list, GList *first_item, gint } static void -egg_icon_list_set_adjustment_upper (GtkAdjustment *adj, +gtk_icon_view_set_adjustment_upper (GtkAdjustment *adj, gdouble upper) { if (upper != adj->upper) @@ -1519,65 +1470,60 @@ egg_icon_list_set_adjustment_upper (GtkAdjustment *adj, } static void -egg_icon_list_layout (EggIconList *icon_list) +gtk_icon_view_layout (GtkIconView *icon_view) { gint y = 0, maximum_width = 0; GList *icons; GtkWidget *widget; - gint top_margin, bottom_margin; gint row; - widget = GTK_WIDGET (icon_list); - icons = icon_list->priv->items; + widget = GTK_WIDGET (icon_view); + icons = icon_view->priv->items; - gtk_widget_style_get (widget, - "top_margin", &top_margin, - "bottom_margin", &bottom_margin, - NULL); - y += top_margin; + y += ICON_VIEW_TOP_MARGIN; row = 0; do { - icons = egg_icon_list_layout_single_row (icon_list, icons, &y, &maximum_width, row); + icons = gtk_icon_view_layout_single_row (icon_view, icons, &y, &maximum_width, row); row++; } while (icons != NULL); - if (maximum_width != icon_list->priv->width) + if (maximum_width != icon_view->priv->width) { - icon_list->priv->width = maximum_width; + icon_view->priv->width = maximum_width; } - y += bottom_margin; + y += ICON_VIEW_BOTTOM_MARGIN; - if (y != icon_list->priv->height) + if (y != icon_view->priv->height) { - icon_list->priv->height = y; + icon_view->priv->height = y; } - egg_icon_list_set_adjustment_upper (icon_list->priv->hadjustment, icon_list->priv->width); - egg_icon_list_set_adjustment_upper (icon_list->priv->vadjustment, icon_list->priv->height); + gtk_icon_view_set_adjustment_upper (icon_view->priv->hadjustment, icon_view->priv->width); + gtk_icon_view_set_adjustment_upper (icon_view->priv->vadjustment, icon_view->priv->height); - if (GTK_WIDGET_REALIZED (icon_list)) + if (GTK_WIDGET_REALIZED (icon_view)) { - gdk_window_resize (icon_list->priv->bin_window, - MAX (icon_list->priv->width, widget->allocation.width), - MAX (icon_list->priv->height, widget->allocation.height)); + gdk_window_resize (icon_view->priv->bin_window, + MAX (icon_view->priv->width, widget->allocation.width), + MAX (icon_view->priv->height, widget->allocation.height)); } - if (icon_list->priv->layout_idle_id != 0) + if (icon_view->priv->layout_idle_id != 0) { - g_source_remove (icon_list->priv->layout_idle_id); - icon_list->priv->layout_idle_id = 0; + g_source_remove (icon_view->priv->layout_idle_id); + icon_view->priv->layout_idle_id = 0; } - gtk_widget_queue_draw (GTK_WIDGET (icon_list)); + gtk_widget_queue_draw (GTK_WIDGET (icon_view)); } /* Updates the pango layout and calculates the size */ static void -egg_icon_list_calculate_item_size (EggIconList *icon_list, - EggIconListItem *item) +gtk_icon_view_calculate_item_size (GtkIconView *icon_view, + GtkIconViewItem *item) { int layout_width, layout_height; int maximum_layout_width; @@ -1586,9 +1532,9 @@ egg_icon_list_calculate_item_size (EggIconList *icon_list, if (item->width != -1 && item->width != -1) return; - if (icon_list->priv->pixbuf_column != -1) + if (icon_view->priv->pixbuf_column != -1) { - pixbuf = egg_icon_list_get_item_icon (icon_list, item); + pixbuf = gtk_icon_view_get_item_icon (icon_view, item); item->pixbuf_width = gdk_pixbuf_get_width (pixbuf); item->pixbuf_height = gdk_pixbuf_get_height (pixbuf); g_object_unref (pixbuf); @@ -1601,15 +1547,15 @@ egg_icon_list_calculate_item_size (EggIconList *icon_list, maximum_layout_width = MAX (item->pixbuf_width, MINIMUM_ICON_ITEM_WIDTH); - if (icon_list->priv->markup_column != 1 || - icon_list->priv->text_column != -1) + if (icon_view->priv->markup_column != 1 || + icon_view->priv->text_column != -1) { - egg_icon_list_update_item_text (icon_list, item); + gtk_icon_view_update_item_text (icon_view, item); - pango_layout_set_alignment (icon_list->priv->layout, PANGO_ALIGN_CENTER); - pango_layout_set_width (icon_list->priv->layout, maximum_layout_width * PANGO_SCALE); + pango_layout_set_alignment (icon_view->priv->layout, PANGO_ALIGN_CENTER); + pango_layout_set_width (icon_view->priv->layout, maximum_layout_width * PANGO_SCALE); - pango_layout_get_pixel_size (icon_list->priv->layout, &layout_width, &layout_height); + pango_layout_get_pixel_size (icon_view->priv->layout, &layout_width, &layout_height); item->width = MAX ((layout_width + 2 * ICON_TEXT_PADDING), item->pixbuf_width); item->height = layout_height + 2 * ICON_TEXT_PADDING + item->pixbuf_height; @@ -1624,14 +1570,14 @@ egg_icon_list_calculate_item_size (EggIconList *icon_list, } static void -egg_icon_list_invalidate_sizes (EggIconList *icon_list) +gtk_icon_view_invalidate_sizes (GtkIconView *icon_view) { - g_list_foreach (icon_list->priv->items, - (GFunc)egg_icon_list_item_invalidate_size, NULL); + g_list_foreach (icon_view->priv->items, + (GFunc)gtk_icon_view_item_invalidate_size, NULL); } static void -egg_icon_list_item_invalidate_size (EggIconListItem *item) +gtk_icon_view_item_invalidate_size (GtkIconViewItem *item) { item->width = -1; item->height = -1; @@ -1683,34 +1629,34 @@ create_colorized_pixbuf (GdkPixbuf *src, GdkColor *new_color) } static void -egg_icon_list_paint_item (EggIconList *icon_list, - EggIconListItem *item, +gtk_icon_view_paint_item (GtkIconView *icon_view, + GtkIconViewItem *item, GdkRectangle *area) { GdkPixbuf *pixbuf, *tmp; GtkStateType state; - if (!VALID_MODEL_AND_COLUMNS (icon_list)) + if (!VALID_MODEL_AND_COLUMNS (icon_view)) return; - if (GTK_WIDGET_HAS_FOCUS (icon_list)) + if (GTK_WIDGET_HAS_FOCUS (icon_view)) state = GTK_STATE_SELECTED; else state = GTK_STATE_ACTIVE; - if (icon_list->priv->pixbuf_column != -1) + if (icon_view->priv->pixbuf_column != -1) { - tmp = egg_icon_list_get_item_icon (icon_list, item); + tmp = gtk_icon_view_get_item_icon (icon_view, item); if (item->selected) { pixbuf = create_colorized_pixbuf (tmp, - >K_WIDGET (icon_list)->style->base[state]); + >K_WIDGET (icon_view)->style->base[state]); g_object_unref (tmp); } else pixbuf = tmp; - gdk_draw_pixbuf (icon_list->priv->bin_window, NULL, pixbuf, + gdk_draw_pixbuf (icon_view->priv->bin_window, NULL, pixbuf, 0, 0, item->pixbuf_x, item->pixbuf_y, item->pixbuf_width, item->pixbuf_height, @@ -1719,12 +1665,12 @@ egg_icon_list_paint_item (EggIconList *icon_list, g_object_unref (pixbuf); } - if (icon_list->priv->text_column != -1) + if (icon_view->priv->text_column != -1) { if (item->selected) { - gdk_draw_rectangle (icon_list->priv->bin_window, - GTK_WIDGET (icon_list)->style->base_gc[state], + gdk_draw_rectangle (icon_view->priv->bin_window, + GTK_WIDGET (icon_view)->style->base_gc[state], TRUE, item->layout_x - ICON_TEXT_PADDING, item->layout_y - ICON_TEXT_PADDING, @@ -1732,23 +1678,23 @@ egg_icon_list_paint_item (EggIconList *icon_list, item->layout_height + 2 * ICON_TEXT_PADDING); } - egg_icon_list_update_item_text (icon_list, item); - gtk_paint_layout (GTK_WIDGET (icon_list)->style, - icon_list->priv->bin_window, + gtk_icon_view_update_item_text (icon_view, item); + gtk_paint_layout (GTK_WIDGET (icon_view)->style, + icon_view->priv->bin_window, item->selected ? state : GTK_STATE_NORMAL, - TRUE, area, GTK_WIDGET (icon_list), "icon_list", + TRUE, area, GTK_WIDGET (icon_view), "icon_view", item->layout_x - ((item->width - item->layout_width) / 2) - (MAX (item->pixbuf_width, MINIMUM_ICON_ITEM_WIDTH) - item->width) / 2, item->layout_y, - icon_list->priv->layout); + icon_view->priv->layout); - if (GTK_WIDGET_HAS_FOCUS (icon_list) && - item == icon_list->priv->cursor_item) - gtk_paint_focus (GTK_WIDGET (icon_list)->style, - icon_list->priv->bin_window, + if (GTK_WIDGET_HAS_FOCUS (icon_view) && + item == icon_view->priv->cursor_item) + gtk_paint_focus (GTK_WIDGET (icon_view)->style, + icon_view->priv->bin_window, item->selected ? GTK_STATE_SELECTED : GTK_STATE_NORMAL, area, - GTK_WIDGET (icon_list), - "icon_list", + GTK_WIDGET (icon_view), + "icon_view", item->layout_x - ICON_TEXT_PADDING, item->layout_y - ICON_TEXT_PADDING, item->layout_width + 2 * ICON_TEXT_PADDING, @@ -1757,7 +1703,7 @@ egg_icon_list_paint_item (EggIconList *icon_list, } static guint32 -egg_gdk_color_to_rgb (const GdkColor *color) +gtk_gdk_color_to_rgb (const GdkColor *color) { guint32 result; result = (0xff0000 | (color->red & 0xff00)); @@ -1767,7 +1713,7 @@ egg_gdk_color_to_rgb (const GdkColor *color) } static void -egg_icon_list_paint_rubberband (EggIconList *icon_list, +gtk_icon_view_paint_rubberband (GtkIconView *icon_view, GdkRectangle *area) { GdkRectangle rect; @@ -1778,39 +1724,39 @@ egg_icon_list_paint_rubberband (EggIconList *icon_list, guint fill_color; guchar fill_color_alpha; - rubber_rect.x = MIN (icon_list->priv->rubberband_x1, icon_list->priv->rubberband_x2); - rubber_rect.y = MIN (icon_list->priv->rubberband_y1, icon_list->priv->rubberband_y2); - rubber_rect.width = ABS (icon_list->priv->rubberband_x1 - icon_list->priv->rubberband_x2) + 1; - rubber_rect.height = ABS (icon_list->priv->rubberband_y1 - icon_list->priv->rubberband_y2) + 1; + rubber_rect.x = MIN (icon_view->priv->rubberband_x1, icon_view->priv->rubberband_x2); + rubber_rect.y = MIN (icon_view->priv->rubberband_y1, icon_view->priv->rubberband_y2); + rubber_rect.width = ABS (icon_view->priv->rubberband_x1 - icon_view->priv->rubberband_x2) + 1; + rubber_rect.height = ABS (icon_view->priv->rubberband_y1 - icon_view->priv->rubberband_y2) + 1; if (!gdk_rectangle_intersect (&rubber_rect, area, &rect)) return; - gtk_widget_style_get (GTK_WIDGET (icon_list), + gtk_widget_style_get (GTK_WIDGET (icon_view), "selection_box_color", &fill_color_gdk, "selection_box_alpha", &fill_color_alpha, NULL); if (!fill_color_gdk) { - fill_color_gdk = gdk_color_copy (>K_WIDGET (icon_list)->style->base[GTK_STATE_SELECTED]); + fill_color_gdk = gdk_color_copy (>K_WIDGET (icon_view)->style->base[GTK_STATE_SELECTED]); } - fill_color = egg_gdk_color_to_rgb (fill_color_gdk) << 8 | fill_color_alpha; + fill_color = gtk_gdk_color_to_rgb (fill_color_gdk) << 8 | fill_color_alpha; pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, rect.width, rect.height); gdk_pixbuf_fill (pixbuf, fill_color); - gdk_draw_pixbuf (icon_list->priv->bin_window, NULL, pixbuf, + gdk_draw_pixbuf (icon_view->priv->bin_window, NULL, pixbuf, 0, 0, rect.x,rect.y, rect.width, rect.height, GDK_RGB_DITHER_NONE, 0, 0); g_object_unref (pixbuf); - gc = gdk_gc_new (icon_list->priv->bin_window); + gc = gdk_gc_new (icon_view->priv->bin_window); gdk_gc_set_rgb_fg_color (gc, fill_color_gdk); gdk_gc_set_clip_rectangle (gc, &rect); - gdk_draw_rectangle (icon_list->priv->bin_window, + gdk_draw_rectangle (icon_view->priv->bin_window, gc, FALSE, rubber_rect.x, rubber_rect.y, rubber_rect.width - 1, rubber_rect.height - 1); @@ -1819,8 +1765,8 @@ egg_icon_list_paint_rubberband (EggIconList *icon_list, } static void -egg_icon_list_queue_draw_item (EggIconList *icon_list, - EggIconListItem *item) +gtk_icon_view_queue_draw_item (GtkIconView *icon_view, + GtkIconViewItem *item) { GdkRectangle rect; @@ -1829,54 +1775,54 @@ egg_icon_list_queue_draw_item (EggIconList *icon_list, rect.width = item->width; rect.height = item->height; - if (icon_list->priv->bin_window) - gdk_window_invalidate_rect (icon_list->priv->bin_window, &rect, TRUE); + if (icon_view->priv->bin_window) + gdk_window_invalidate_rect (icon_view->priv->bin_window, &rect, TRUE); } static gboolean layout_callback (gpointer user_data) { - EggIconList *icon_list; + GtkIconView *icon_view; - icon_list = EGG_ICON_LIST (user_data); + icon_view = GTK_ICON_VIEW (user_data); - icon_list->priv->layout_idle_id = 0; + icon_view->priv->layout_idle_id = 0; - egg_icon_list_layout (icon_list); + gtk_icon_view_layout (icon_view); return FALSE; } static void -egg_icon_list_queue_layout (EggIconList *icon_list) +gtk_icon_view_queue_layout (GtkIconView *icon_view) { - if (icon_list->priv->layout_idle_id != 0) + if (icon_view->priv->layout_idle_id != 0) return; - icon_list->priv->layout_idle_id = g_idle_add (layout_callback, icon_list); + icon_view->priv->layout_idle_id = g_idle_add (layout_callback, icon_view); } static void -egg_icon_list_set_cursor_item (EggIconList *icon_list, - EggIconListItem *item) +gtk_icon_view_set_cursor_item (GtkIconView *icon_view, + GtkIconViewItem *item) { - if (icon_list->priv->cursor_item == item) + if (icon_view->priv->cursor_item == item) return; - if (icon_list->priv->cursor_item != NULL) - egg_icon_list_queue_draw_item (icon_list, icon_list->priv->cursor_item); + if (icon_view->priv->cursor_item != NULL) + gtk_icon_view_queue_draw_item (icon_view, icon_view->priv->cursor_item); - icon_list->priv->cursor_item = item; - egg_icon_list_queue_draw_item (icon_list, item); + icon_view->priv->cursor_item = item; + gtk_icon_view_queue_draw_item (icon_view, item); } -static EggIconListItem * -egg_icon_list_item_new (void) +static GtkIconViewItem * +gtk_icon_view_item_new (void) { - EggIconListItem *item; + GtkIconViewItem *item; - item = g_new0 (EggIconListItem, 1); + item = g_new0 (GtkIconViewItem, 1); item->ref_count = 1; item->width = -1; @@ -1886,7 +1832,7 @@ egg_icon_list_item_new (void) } static void -egg_icon_list_item_free (EggIconListItem *item) +gtk_icon_view_item_free (GtkIconViewItem *item) { g_return_if_fail (item != NULL); @@ -1894,46 +1840,46 @@ egg_icon_list_item_free (EggIconListItem *item) } static void -egg_icon_list_update_item_text (EggIconList *icon_list, - EggIconListItem *item) +gtk_icon_view_update_item_text (GtkIconView *icon_view, + GtkIconViewItem *item) { gboolean iters_persist; GtkTreeIter iter; GtkTreePath *path; gchar *text; - iters_persist = gtk_tree_model_get_flags (icon_list->priv->model) & GTK_TREE_MODEL_ITERS_PERSIST; + iters_persist = gtk_tree_model_get_flags (icon_view->priv->model) & GTK_TREE_MODEL_ITERS_PERSIST; if (!iters_persist) { path = gtk_tree_path_new_from_indices (item->index, -1); - gtk_tree_model_get_iter (icon_list->priv->model, &iter, path); + gtk_tree_model_get_iter (icon_view->priv->model, &iter, path); gtk_tree_path_free (path); } else iter = item->iter; - if (icon_list->priv->markup_column != -1) + if (icon_view->priv->markup_column != -1) { - gtk_tree_model_get (icon_list->priv->model, &iter, - icon_list->priv->markup_column, &text, + gtk_tree_model_get (icon_view->priv->model, &iter, + icon_view->priv->markup_column, &text, -1); - pango_layout_set_markup (icon_list->priv->layout, text, -1); + pango_layout_set_markup (icon_view->priv->layout, text, -1); } else { - gtk_tree_model_get (icon_list->priv->model, &iter, - icon_list->priv->text_column, &text, + gtk_tree_model_get (icon_view->priv->model, &iter, + icon_view->priv->text_column, &text, -1); - pango_layout_set_text (icon_list->priv->layout, text, -1); + pango_layout_set_text (icon_view->priv->layout, text, -1); } g_free (text); } static GdkPixbuf * -egg_icon_list_get_item_icon (EggIconList *icon_list, - EggIconListItem *item) +gtk_icon_view_get_item_icon (GtkIconView *icon_view, + GtkIconViewItem *item) { gboolean iters_persist; GtkTreeIter iter; @@ -1942,35 +1888,35 @@ egg_icon_list_get_item_icon (EggIconList *icon_list, g_return_val_if_fail (item != NULL, NULL); - iters_persist = gtk_tree_model_get_flags (icon_list->priv->model) & GTK_TREE_MODEL_ITERS_PERSIST; + iters_persist = gtk_tree_model_get_flags (icon_view->priv->model) & GTK_TREE_MODEL_ITERS_PERSIST; if (!iters_persist) { path = gtk_tree_path_new_from_indices (item->index, -1); - gtk_tree_model_get_iter (icon_list->priv->model, &iter, path); + gtk_tree_model_get_iter (icon_view->priv->model, &iter, path); gtk_tree_path_free (path); } else iter = item->iter; - gtk_tree_model_get (icon_list->priv->model, &iter, - icon_list->priv->pixbuf_column, &pixbuf, + gtk_tree_model_get (icon_view->priv->model, &iter, + icon_view->priv->pixbuf_column, &pixbuf, -1); return pixbuf; } -static EggIconListItem * -egg_icon_list_get_item_at_pos (EggIconList *icon_list, +static GtkIconViewItem * +gtk_icon_view_get_item_at_pos (GtkIconView *icon_view, gint x, gint y) { GList *items; - for (items = icon_list->priv->items; items; items = items->next) + for (items = icon_view->priv->items; items; items = items->next) { - EggIconListItem *item = items->data; + GtkIconViewItem *item = items->data; if (x > item->x && x < item->x + item->width && y > item->y && y < item->y + item->height) @@ -1990,62 +1936,59 @@ egg_icon_list_get_item_at_pos (EggIconList *icon_list, return NULL; } - - - static void -egg_icon_list_select_item (EggIconList *icon_list, - EggIconListItem *item) +gtk_icon_view_select_item (GtkIconView *icon_view, + GtkIconViewItem *item) { - g_return_if_fail (EGG_IS_ICON_LIST (icon_list)); + g_return_if_fail (GTK_IS_ICON_VIEW (icon_view)); g_return_if_fail (item != NULL); if (item->selected) return; - if (icon_list->priv->selection_mode == GTK_SELECTION_NONE) + if (icon_view->priv->selection_mode == GTK_SELECTION_NONE) return; - else if (icon_list->priv->selection_mode != GTK_SELECTION_MULTIPLE) - egg_icon_list_unselect_all_internal (icon_list); + else if (icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) + gtk_icon_view_unselect_all_internal (icon_view); item->selected = TRUE; - egg_icon_list_queue_draw_item (icon_list, item); + gtk_icon_view_queue_draw_item (icon_view, item); - g_signal_emit (icon_list, icon_list_signals[SELECTION_CHANGED], 0); + g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } static void -egg_icon_list_unselect_item (EggIconList *icon_list, - EggIconListItem *item) +gtk_icon_view_unselect_item (GtkIconView *icon_view, + GtkIconViewItem *item) { - g_return_if_fail (EGG_IS_ICON_LIST (icon_list)); + g_return_if_fail (GTK_IS_ICON_VIEW (icon_view)); g_return_if_fail (item != NULL); if (!item->selected) return; - if (icon_list->priv->selection_mode == GTK_SELECTION_NONE || - icon_list->priv->selection_mode == GTK_SELECTION_BROWSE) + if (icon_view->priv->selection_mode == GTK_SELECTION_NONE || + icon_view->priv->selection_mode == GTK_SELECTION_BROWSE) return; item->selected = FALSE; - g_signal_emit (icon_list, icon_list_signals[SELECTION_CHANGED], 0); + g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); - egg_icon_list_queue_draw_item (icon_list, item); + gtk_icon_view_queue_draw_item (icon_view, item); } static void -verify_items (EggIconList *icon_list) +verify_items (GtkIconView *icon_view) { GList *items; int i = 0; - for (items = icon_list->priv->items; items; items = items->next) + for (items = icon_view->priv->items; items; items = items->next) { - EggIconListItem *item = items->data; + GtkIconViewItem *item = items->data; if (item->index != i) g_error ("List item does not match its index: item index %d and list index %d\n", item->index, i); @@ -2055,45 +1998,45 @@ verify_items (EggIconList *icon_list) } static void -egg_icon_list_row_changed (GtkTreeModel *model, +gtk_icon_view_row_changed (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) { - EggIconListItem *item; + GtkIconViewItem *item; gint index; - EggIconList *icon_list; + GtkIconView *icon_view; - icon_list = EGG_ICON_LIST (data); + icon_view = GTK_ICON_VIEW (data); index = gtk_tree_path_get_indices(path)[0]; - item = g_list_nth (icon_list->priv->items, index)->data; + item = g_list_nth (icon_view->priv->items, index)->data; - egg_icon_list_item_invalidate_size (item); - egg_icon_list_queue_layout (icon_list); + gtk_icon_view_item_invalidate_size (item); + gtk_icon_view_queue_layout (icon_view); - verify_items (icon_list); + verify_items (icon_view); } static void -egg_icon_list_row_inserted (GtkTreeModel *model, +gtk_icon_view_row_inserted (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data) { gint length, index; - EggIconListItem *item; + GtkIconViewItem *item; gboolean iters_persist; - EggIconList *icon_list; + GtkIconView *icon_view; GList *list; - icon_list = EGG_ICON_LIST (data); - iters_persist = gtk_tree_model_get_flags (icon_list->priv->model) & GTK_TREE_MODEL_ITERS_PERSIST; + icon_view = GTK_ICON_VIEW (data); + iters_persist = gtk_tree_model_get_flags (icon_view->priv->model) & GTK_TREE_MODEL_ITERS_PERSIST; length = gtk_tree_model_iter_n_children (model, NULL); index = gtk_tree_path_get_indices(path)[0]; - item = egg_icon_list_item_new (); + item = gtk_icon_view_item_new (); if (iters_persist) item->iter = *iter; @@ -2104,10 +2047,10 @@ egg_icon_list_row_inserted (GtkTreeModel *model, we can store a tail pointer and use that when appending (which is a rather common operation) */ - icon_list->priv->items = g_list_insert (icon_list->priv->items, + icon_view->priv->items = g_list_insert (icon_view->priv->items, item, index); - list = g_list_nth (icon_list->priv->items, index + 1); + list = g_list_nth (icon_view->priv->items, index + 1); for (; list; list = list->next) { item = list->data; @@ -2115,37 +2058,37 @@ egg_icon_list_row_inserted (GtkTreeModel *model, item->index++; } - verify_items (icon_list); + verify_items (icon_view); } static void -egg_icon_list_row_deleted (GtkTreeModel *model, +gtk_icon_view_row_deleted (GtkTreeModel *model, GtkTreePath *path, gpointer data) { gint index; - EggIconList *icon_list; - EggIconListItem *item; + GtkIconView *icon_view; + GtkIconViewItem *item; GList *list, *next; gboolean emit = FALSE; - icon_list = EGG_ICON_LIST (data); + icon_view = GTK_ICON_VIEW (data); index = gtk_tree_path_get_indices(path)[0]; - list = g_list_nth (icon_list->priv->items, index); + list = g_list_nth (icon_view->priv->items, index); item = list->data; - if (item == icon_list->priv->anchor_item) - icon_list->priv->anchor_item = NULL; + if (item == icon_view->priv->anchor_item) + icon_view->priv->anchor_item = NULL; - if (item == icon_list->priv->cursor_item) - icon_list->priv->cursor_item = NULL; + if (item == icon_view->priv->cursor_item) + icon_view->priv->cursor_item = NULL; if (item->selected) emit = TRUE; - egg_icon_list_item_free (item); + gtk_icon_view_item_free (item); for (next = list->next; next; next = next->next) { @@ -2154,18 +2097,18 @@ egg_icon_list_row_deleted (GtkTreeModel *model, item->index--; } - icon_list->priv->items = g_list_delete_link (icon_list->priv->items, list); + icon_view->priv->items = g_list_delete_link (icon_view->priv->items, list); - egg_icon_list_queue_layout (icon_list); + gtk_icon_view_queue_layout (icon_view); - verify_items (icon_list); + verify_items (icon_view); if (emit) - g_signal_emit (icon_list, icon_list_signals[SELECTION_CHANGED], 0); + g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } static void -egg_icon_list_rows_reordered (GtkTreeModel *model, +gtk_icon_view_rows_reordered (GtkTreeModel *model, GtkTreePath *parent, GtkTreeIter *iter, gint *new_order, @@ -2173,12 +2116,12 @@ egg_icon_list_rows_reordered (GtkTreeModel *model, { int i; int length; - EggIconList *icon_list; + GtkIconView *icon_view; GList *items = NULL, *list; gint *inverted_order; - EggIconListItem **item_array; + GtkIconViewItem **item_array; - icon_list = EGG_ICON_LIST (data); + icon_view = GTK_ICON_VIEW (data); length = gtk_tree_model_iter_n_children (model, NULL); inverted_order = g_new (gint, length); @@ -2187,8 +2130,8 @@ egg_icon_list_rows_reordered (GtkTreeModel *model, for (i = 0; i < length; i++) inverted_order[new_order[i]] = i; - item_array = g_new (EggIconListItem *, length); - for (i = 0, list = icon_list->priv->items; list != NULL; list = list->next, i++) + item_array = g_new (GtkIconViewItem *, length); + for (i = 0, list = icon_view->priv->items; list != NULL; list = list->next, i++) item_array[inverted_order[i]] = list->data; g_free (inverted_order); @@ -2199,23 +2142,23 @@ egg_icon_list_rows_reordered (GtkTreeModel *model, } g_free (item_array); - g_list_free (icon_list->priv->items); - icon_list->priv->items = g_list_reverse (items); + g_list_free (icon_view->priv->items); + icon_view->priv->items = g_list_reverse (items); - verify_items (icon_list); + verify_items (icon_view); } static void -egg_icon_list_build_items (EggIconList *icon_list) +gtk_icon_view_build_items (GtkIconView *icon_view) { GtkTreeIter iter; int i; gboolean iters_persist; GList *items = NULL; - iters_persist = gtk_tree_model_get_flags (icon_list->priv->model) & GTK_TREE_MODEL_ITERS_PERSIST; + iters_persist = gtk_tree_model_get_flags (icon_view->priv->model) & GTK_TREE_MODEL_ITERS_PERSIST; - if (!gtk_tree_model_get_iter_first (icon_list->priv->model, + if (!gtk_tree_model_get_iter_first (icon_view->priv->model, &iter)) return; @@ -2223,7 +2166,7 @@ egg_icon_list_build_items (EggIconList *icon_list) do { - EggIconListItem *item = egg_icon_list_item_new (); + GtkIconViewItem *item = gtk_icon_view_item_new (); if (iters_persist) item->iter = iter; @@ -2234,13 +2177,13 @@ egg_icon_list_build_items (EggIconList *icon_list) items = g_list_prepend (items, item); - } while (gtk_tree_model_iter_next (icon_list->priv->model, &iter)); + } while (gtk_tree_model_iter_next (icon_view->priv->model, &iter)); - icon_list->priv->items = g_list_reverse (items); + icon_view->priv->items = g_list_reverse (items); } static void -egg_icon_list_add_move_binding (GtkBindingSet *binding_set, +gtk_icon_view_add_move_binding (GtkBindingSet *binding_set, guint keyval, guint modmask, GtkMovementStep step, @@ -2272,30 +2215,30 @@ egg_icon_list_add_move_binding (GtkBindingSet *binding_set, } static gboolean -egg_icon_list_real_move_cursor (EggIconList *icon_list, +gtk_icon_view_real_move_cursor (GtkIconView *icon_view, GtkMovementStep step, gint count) { GdkModifierType state; - g_return_val_if_fail (EGG_ICON_LIST (icon_list), FALSE); + g_return_val_if_fail (GTK_ICON_VIEW (icon_view), FALSE); g_return_val_if_fail (step == GTK_MOVEMENT_LOGICAL_POSITIONS || step == GTK_MOVEMENT_VISUAL_POSITIONS || step == GTK_MOVEMENT_DISPLAY_LINES || step == GTK_MOVEMENT_PAGES || step == GTK_MOVEMENT_BUFFER_ENDS, FALSE); - if (!GTK_WIDGET_HAS_FOCUS (GTK_WIDGET (icon_list))) + if (!GTK_WIDGET_HAS_FOCUS (GTK_WIDGET (icon_view))) return FALSE; - gtk_widget_grab_focus (GTK_WIDGET (icon_list)); + gtk_widget_grab_focus (GTK_WIDGET (icon_view)); if (gtk_get_current_event_state (&state)) { if ((state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK) - icon_list->priv->ctrl_pressed = TRUE; + icon_view->priv->ctrl_pressed = TRUE; if ((state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK) - icon_list->priv->shift_pressed = TRUE; + icon_view->priv->shift_pressed = TRUE; } /* else we assume not pressed */ @@ -2303,43 +2246,43 @@ egg_icon_list_real_move_cursor (EggIconList *icon_list, { case GTK_MOVEMENT_LOGICAL_POSITIONS: case GTK_MOVEMENT_VISUAL_POSITIONS: - egg_icon_list_move_cursor_left_right (icon_list, count); + gtk_icon_view_move_cursor_left_right (icon_view, count); break; case GTK_MOVEMENT_DISPLAY_LINES: - egg_icon_list_move_cursor_up_down (icon_list, count); + gtk_icon_view_move_cursor_up_down (icon_view, count); break; case GTK_MOVEMENT_PAGES: - egg_icon_list_move_cursor_page_up_down (icon_list, count); + gtk_icon_view_move_cursor_page_up_down (icon_view, count); break; case GTK_MOVEMENT_BUFFER_ENDS: - egg_icon_list_move_cursor_start_end (icon_list, count); + gtk_icon_view_move_cursor_start_end (icon_view, count); break; default: g_assert_not_reached (); } - icon_list->priv->ctrl_pressed = FALSE; - icon_list->priv->shift_pressed = FALSE; + icon_view->priv->ctrl_pressed = FALSE; + icon_view->priv->shift_pressed = FALSE; return TRUE; } -static EggIconListItem * -find_item (EggIconList *icon_list, - EggIconListItem *current, +static GtkIconViewItem * +find_item (GtkIconView *icon_view, + GtkIconViewItem *current, gint row_ofs, gint col_ofs) { gint row, col; GList *items; - EggIconListItem *item; + GtkIconViewItem *item; /* FIXME: this could be more efficient */ row = current->row + row_ofs; col = current->col + col_ofs; - for (items = icon_list->priv->items; items; items = items->next) + for (items = icon_view->priv->items; items; items = items->next) { item = items->data; if (item->row == row && item->col == col) @@ -2350,28 +2293,28 @@ find_item (EggIconList *icon_list, } -static EggIconListItem * -find_item_page_up_down (EggIconList *icon_list, - EggIconListItem *current, +static GtkIconViewItem * +find_item_page_up_down (GtkIconView *icon_view, + GtkIconViewItem *current, gint count) { GList *item, *next; gint y, col; col = current->col; - y = current->y + count * icon_list->priv->vadjustment->page_size; + y = current->y + count * icon_view->priv->vadjustment->page_size; - item = g_list_find (icon_list->priv->items, current); + item = g_list_find (icon_view->priv->items, current); if (count > 0) { while (item) { for (next = item->next; next; next = next->next) { - if (((EggIconListItem *)next->data)->col == col) + if (((GtkIconViewItem *)next->data)->col == col) break; } - if (!next || ((EggIconListItem *)next->data)->y > y) + if (!next || ((GtkIconViewItem *)next->data)->y > y) break; item = next; @@ -2383,10 +2326,10 @@ find_item_page_up_down (EggIconList *icon_list, { for (next = item->prev; next; next = next->prev) { - if (((EggIconListItem *)next->data)->col == col) + if (((GtkIconViewItem *)next->data)->col == col) break; } - if (!next || ((EggIconListItem *)next->data)->y < y) + if (!next || ((GtkIconViewItem *)next->data)->y < y) break; item = next; @@ -2400,12 +2343,12 @@ find_item_page_up_down (EggIconList *icon_list, } static gboolean -egg_icon_list_select_all_between (EggIconList *icon_list, - EggIconListItem *anchor, - EggIconListItem *cursor) +gtk_icon_view_select_all_between (GtkIconView *icon_view, + GtkIconViewItem *anchor, + GtkIconViewItem *cursor) { GList *items; - EggIconListItem *item; + GtkIconViewItem *item; gint row1, row2, col1, col2; gboolean dirty = FALSE; @@ -2431,7 +2374,7 @@ egg_icon_list_select_all_between (EggIconList *icon_list, col2 = anchor->col; } - for (items = icon_list->priv->items; items; items = items->next) + for (items = icon_view->priv->items; items; items = items->next) { item = items->data; @@ -2443,7 +2386,7 @@ egg_icon_list_select_all_between (EggIconList *icon_list, item->selected = TRUE; - egg_icon_list_queue_draw_item (icon_list, item); + gtk_icon_view_queue_draw_item (icon_view, item); } } @@ -2451,224 +2394,224 @@ egg_icon_list_select_all_between (EggIconList *icon_list, } static void -egg_icon_list_move_cursor_up_down (EggIconList *icon_list, +gtk_icon_view_move_cursor_up_down (GtkIconView *icon_view, gint count) { - EggIconListItem *item; + GtkIconViewItem *item; gboolean dirty = FALSE; - if (!GTK_WIDGET_HAS_FOCUS (icon_list)) + if (!GTK_WIDGET_HAS_FOCUS (icon_view)) return; - if (!icon_list->priv->cursor_item) + if (!icon_view->priv->cursor_item) { GList *list; if (count > 0) - list = icon_list->priv->items; + list = icon_view->priv->items; else - list = g_list_last (icon_list->priv->items); + list = g_list_last (icon_view->priv->items); item = list->data; } else - item = find_item (icon_list, - icon_list->priv->cursor_item, + item = find_item (icon_view, + icon_view->priv->cursor_item, count, 0); if (!item) return; - if (icon_list->priv->ctrl_pressed || - !icon_list->priv->shift_pressed || - !icon_list->priv->anchor_item || - icon_list->priv->selection_mode != GTK_SELECTION_MULTIPLE) - icon_list->priv->anchor_item = item; + if (icon_view->priv->ctrl_pressed || + !icon_view->priv->shift_pressed || + !icon_view->priv->anchor_item || + icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) + icon_view->priv->anchor_item = item; - egg_icon_list_set_cursor_item (icon_list, item); + gtk_icon_view_set_cursor_item (icon_view, item); - if (!icon_list->priv->ctrl_pressed && - icon_list->priv->selection_mode != GTK_SELECTION_NONE) + if (!icon_view->priv->ctrl_pressed && + icon_view->priv->selection_mode != GTK_SELECTION_NONE) { - egg_icon_list_unselect_all_internal (icon_list); - dirty = egg_icon_list_select_all_between (icon_list, - icon_list->priv->anchor_item, + gtk_icon_view_unselect_all_internal (icon_view); + dirty = gtk_icon_view_select_all_between (icon_view, + icon_view->priv->anchor_item, item); } - egg_icon_list_scroll_to_item (icon_list, item); + gtk_icon_view_scroll_to_item (icon_view, item); if (dirty) - g_signal_emit (icon_list, icon_list_signals[SELECTION_CHANGED], 0); + g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } static void -egg_icon_list_move_cursor_page_up_down (EggIconList *icon_list, +gtk_icon_view_move_cursor_page_up_down (GtkIconView *icon_view, gint count) { - EggIconListItem *item; + GtkIconViewItem *item; gboolean dirty = FALSE; - if (!GTK_WIDGET_HAS_FOCUS (icon_list)) + if (!GTK_WIDGET_HAS_FOCUS (icon_view)) return; - if (!icon_list->priv->cursor_item) + if (!icon_view->priv->cursor_item) { GList *list; if (count > 0) - list = icon_list->priv->items; + list = icon_view->priv->items; else - list = g_list_last (icon_list->priv->items); + list = g_list_last (icon_view->priv->items); item = list->data; } else - item = find_item_page_up_down (icon_list, - icon_list->priv->cursor_item, + item = find_item_page_up_down (icon_view, + icon_view->priv->cursor_item, count); if (!item) return; - if (icon_list->priv->ctrl_pressed || - !icon_list->priv->shift_pressed || - !icon_list->priv->anchor_item || - icon_list->priv->selection_mode != GTK_SELECTION_MULTIPLE) - icon_list->priv->anchor_item = item; + if (icon_view->priv->ctrl_pressed || + !icon_view->priv->shift_pressed || + !icon_view->priv->anchor_item || + icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) + icon_view->priv->anchor_item = item; - egg_icon_list_set_cursor_item (icon_list, item); + gtk_icon_view_set_cursor_item (icon_view, item); - if (!icon_list->priv->ctrl_pressed && - icon_list->priv->selection_mode != GTK_SELECTION_NONE) + if (!icon_view->priv->ctrl_pressed && + icon_view->priv->selection_mode != GTK_SELECTION_NONE) { - egg_icon_list_unselect_all_internal (icon_list); - dirty = egg_icon_list_select_all_between (icon_list, - icon_list->priv->anchor_item, + gtk_icon_view_unselect_all_internal (icon_view); + dirty = gtk_icon_view_select_all_between (icon_view, + icon_view->priv->anchor_item, item); } - egg_icon_list_scroll_to_item (icon_list, item); + gtk_icon_view_scroll_to_item (icon_view, item); if (dirty) - g_signal_emit (icon_list, icon_list_signals[SELECTION_CHANGED], 0); + g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } static void -egg_icon_list_move_cursor_left_right (EggIconList *icon_list, +gtk_icon_view_move_cursor_left_right (GtkIconView *icon_view, gint count) { - EggIconListItem *item; + GtkIconViewItem *item; gboolean dirty = FALSE; - if (!GTK_WIDGET_HAS_FOCUS (icon_list)) + if (!GTK_WIDGET_HAS_FOCUS (icon_view)) return; - if (!icon_list->priv->cursor_item) + if (!icon_view->priv->cursor_item) { GList *list; if (count > 0) - list = icon_list->priv->items; + list = icon_view->priv->items; else - list = g_list_last (icon_list->priv->items); + list = g_list_last (icon_view->priv->items); item = list->data; } else - item = find_item (icon_list, - icon_list->priv->cursor_item, + item = find_item (icon_view, + icon_view->priv->cursor_item, 0, count); if (!item) return; - if (icon_list->priv->ctrl_pressed || - !icon_list->priv->shift_pressed || - !icon_list->priv->anchor_item || - icon_list->priv->selection_mode != GTK_SELECTION_MULTIPLE) - icon_list->priv->anchor_item = item; + if (icon_view->priv->ctrl_pressed || + !icon_view->priv->shift_pressed || + !icon_view->priv->anchor_item || + icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) + icon_view->priv->anchor_item = item; - egg_icon_list_set_cursor_item (icon_list, item); + gtk_icon_view_set_cursor_item (icon_view, item); - if (!icon_list->priv->ctrl_pressed && - icon_list->priv->selection_mode != GTK_SELECTION_NONE) + if (!icon_view->priv->ctrl_pressed && + icon_view->priv->selection_mode != GTK_SELECTION_NONE) { - egg_icon_list_unselect_all_internal (icon_list); - dirty = egg_icon_list_select_all_between (icon_list, - icon_list->priv->anchor_item, + gtk_icon_view_unselect_all_internal (icon_view); + dirty = gtk_icon_view_select_all_between (icon_view, + icon_view->priv->anchor_item, item); } - egg_icon_list_scroll_to_item (icon_list, item); + gtk_icon_view_scroll_to_item (icon_view, item); if (dirty) - g_signal_emit (icon_list, icon_list_signals[SELECTION_CHANGED], 0); + g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } static void -egg_icon_list_move_cursor_start_end (EggIconList *icon_list, +gtk_icon_view_move_cursor_start_end (GtkIconView *icon_view, gint count) { - EggIconListItem *item; + GtkIconViewItem *item; GList *list; gboolean dirty = FALSE; - if (!GTK_WIDGET_HAS_FOCUS (icon_list)) + if (!GTK_WIDGET_HAS_FOCUS (icon_view)) return; if (count < 0) - list = icon_list->priv->items; + list = icon_view->priv->items; else - list = g_list_last (icon_list->priv->items); + list = g_list_last (icon_view->priv->items); item = list->data; if (!item) return; - if (icon_list->priv->ctrl_pressed || - !icon_list->priv->shift_pressed || - !icon_list->priv->anchor_item || - icon_list->priv->selection_mode != GTK_SELECTION_MULTIPLE) - icon_list->priv->anchor_item = item; + if (icon_view->priv->ctrl_pressed || + !icon_view->priv->shift_pressed || + !icon_view->priv->anchor_item || + icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) + icon_view->priv->anchor_item = item; - egg_icon_list_set_cursor_item (icon_list, item); + gtk_icon_view_set_cursor_item (icon_view, item); - if (!icon_list->priv->ctrl_pressed && - icon_list->priv->selection_mode != GTK_SELECTION_NONE) + if (!icon_view->priv->ctrl_pressed && + icon_view->priv->selection_mode != GTK_SELECTION_NONE) { - egg_icon_list_unselect_all (icon_list); - dirty = egg_icon_list_select_all_between (icon_list, - icon_list->priv->anchor_item, + gtk_icon_view_unselect_all (icon_view); + dirty = gtk_icon_view_select_all_between (icon_view, + icon_view->priv->anchor_item, item); } - egg_icon_list_scroll_to_item (icon_list, item); + gtk_icon_view_scroll_to_item (icon_view, item); if (dirty) - g_signal_emit (icon_list, icon_list_signals[SELECTION_CHANGED], 0); + g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } static void -egg_icon_list_scroll_to_item (EggIconList *icon_list, - EggIconListItem *item) +gtk_icon_view_scroll_to_item (GtkIconView *icon_view, + GtkIconViewItem *item) { gint y, height; gdouble value; - gdk_window_get_geometry (icon_list->priv->bin_window, NULL, &y, NULL, &height, NULL); + gdk_window_get_geometry (icon_view->priv->bin_window, NULL, &y, NULL, &height, NULL); if (y + item->y < 0) { - value = icon_list->priv->vadjustment->value + y + item->y; - gtk_adjustment_set_value (icon_list->priv->vadjustment, value); + value = icon_view->priv->vadjustment->value + y + item->y; + gtk_adjustment_set_value (icon_view->priv->vadjustment, value); } - else if (y + item->y + item->height > GTK_WIDGET (icon_list)->allocation.height) + else if (y + item->y + item->height > GTK_WIDGET (icon_view)->allocation.height) { - value = icon_list->priv->vadjustment->value + y + item->y + item->height - - GTK_WIDGET (icon_list)->allocation.height; - gtk_adjustment_set_value (icon_list->priv->vadjustment, value); + value = icon_view->priv->vadjustment->value + y + item->y + item->height + - GTK_WIDGET (icon_view)->allocation.height; + gtk_adjustment_set_value (icon_view->priv->vadjustment, value); } } @@ -2676,38 +2619,38 @@ egg_icon_list_scroll_to_item (EggIconList *icon_list, /** - * egg_icon_list_new: + * gtk_icon_view_new: * - * Creates a new #EggIconList widget + * Creates a new #GtkIconView widget * - * Return value: A newly created #EggIconList widget + * Return value: A newly created #GtkIconView widget **/ GtkWidget * -egg_icon_list_new (void) +gtk_icon_view_new (void) { - return g_object_new (EGG_TYPE_ICON_LIST, NULL); + return g_object_new (GTK_TYPE_ICON_VIEW, NULL); } /** - * egg_icon_list_new_with_model: + * gtk_icon_view_new_with_model: * @model: The model. * - * Creates a new #EggIconList widget with the model initialized @model. + * Creates a new #GtkIconView widget with the model initialized @model. * - * Return value: A newly created #EggIconList widget. + * Return value: A newly created #GtkIconView widget. * * Since: 2.6 **/ GtkWidget * -egg_icon_list_new_with_model (GtkTreeModel *model) +gtk_icon_view_new_with_model (GtkTreeModel *model) { - return g_object_new (EGG_TYPE_ICON_LIST, "model", model, NULL); + return g_object_new (GTK_TYPE_ICON_VIEW, "model", model, NULL); } /** - * egg_icon_list_get_path_at_pos: - * @icon_list: A #EggIconList. + * gtk_icon_view_get_path_at_pos: + * @icon_view: A #GtkIconView. * @x: The x position to be identified. * @y: The y position to be identified * @@ -2719,16 +2662,16 @@ egg_icon_list_new_with_model (GtkTreeModel *model) * Since: 2.6 **/ GtkTreePath * -egg_icon_list_get_path_at_pos (EggIconList *icon_list, +gtk_icon_view_get_path_at_pos (GtkIconView *icon_view, gint x, gint y) { - EggIconListItem *item; + GtkIconViewItem *item; GtkTreePath *path; - g_return_val_if_fail (EGG_IS_ICON_LIST (icon_list), NULL); + g_return_val_if_fail (GTK_IS_ICON_VIEW (icon_view), NULL); - item = egg_icon_list_get_item_at_pos (icon_list, x, y); + item = gtk_icon_view_get_item_at_pos (icon_view, x, y); if (!item) return NULL; @@ -2739,8 +2682,8 @@ egg_icon_list_get_path_at_pos (EggIconList *icon_list, } /** - * egg_icon_list_selected_foreach: - * @icon_list: A #EggIconList. + * gtk_icon_view_selected_foreach: + * @icon_view: A #GtkIconView. * @func: The funcion to call for each selected icon. * @data: User data to pass to the function. * @@ -2750,90 +2693,90 @@ egg_icon_list_get_path_at_pos (EggIconList *icon_list, * Since: 2.6 **/ void -egg_icon_list_selected_foreach (EggIconList *icon_list, - EggIconListForeachFunc func, +gtk_icon_view_selected_foreach (GtkIconView *icon_view, + GtkIconViewForeachFunc func, gpointer data) { GList *list; - for (list = icon_list->priv->items; list; list = list->next) + for (list = icon_view->priv->items; list; list = list->next) { - EggIconListItem *item = list->data; + GtkIconViewItem *item = list->data; GtkTreePath *path = gtk_tree_path_new_from_indices (item->index, -1); if (item->selected) - (* func) (icon_list, path, data); + (* func) (icon_view, path, data); gtk_tree_path_free (path); } } /** - * egg_icon_list_set_selection_mode: - * @icon_list: A #EggIconList. + * gtk_icon_view_set_selection_mode: + * @icon_view: A #GtkIconView. * @mode: The selection mode * - * Sets the selection mode of the @icon_list. + * Sets the selection mode of the @icon_view. * * Since: 2.6 **/ void -egg_icon_list_set_selection_mode (EggIconList *icon_list, +gtk_icon_view_set_selection_mode (GtkIconView *icon_view, GtkSelectionMode mode) { - g_return_if_fail (EGG_IS_ICON_LIST (icon_list)); + g_return_if_fail (GTK_IS_ICON_VIEW (icon_view)); - if (mode == icon_list->priv->selection_mode) + if (mode == icon_view->priv->selection_mode) return; if (mode == GTK_SELECTION_NONE || - icon_list->priv->selection_mode == GTK_SELECTION_MULTIPLE) - egg_icon_list_unselect_all (icon_list); + icon_view->priv->selection_mode == GTK_SELECTION_MULTIPLE) + gtk_icon_view_unselect_all (icon_view); - icon_list->priv->selection_mode = mode; + icon_view->priv->selection_mode = mode; - g_object_notify (G_OBJECT (icon_list), "selection_mode"); + g_object_notify (G_OBJECT (icon_view), "selection_mode"); } /** - * egg_icon_list_get_selection_mode: - * @icon_list: A #EggIconList. + * gtk_icon_view_get_selection_mode: + * @icon_view: A #GtkIconView. * - * Sets the selection mode of the @icon_list. + * Sets the selection mode of the @icon_view. * * Return value: the current selection mode * * Since: 2.6 **/ GtkSelectionMode -egg_icon_list_get_selection_mode (EggIconList *icon_list) +gtk_icon_view_get_selection_mode (GtkIconView *icon_view) { - g_return_val_if_fail (EGG_IS_ICON_LIST (icon_list), GTK_SELECTION_SINGLE); + g_return_val_if_fail (GTK_IS_ICON_VIEW (icon_view), GTK_SELECTION_SINGLE); - return icon_list->priv->selection_mode; + return icon_view->priv->selection_mode; } /** - * egg_icon_list_set_model: - * @icon_list: A #EggIconList. + * gtk_icon_view_set_model: + * @icon_view: A #GtkIconView. * @model: The model. * - * Sets the model for a #EggIconList. If the @icon_list already has a model + * Sets the model for a #GtkIconView. If the @icon_view already has a model * set, it will remove it before setting the new model. If @model is %NULL, then * it will unset the old model. * * Since: 2.6 **/ void -egg_icon_list_set_model (EggIconList *icon_list, +gtk_icon_view_set_model (GtkIconView *icon_view, GtkTreeModel *model) { - g_return_if_fail (EGG_IS_ICON_LIST (icon_list)); + g_return_if_fail (GTK_IS_ICON_VIEW (icon_view)); if (model != NULL) g_return_if_fail (GTK_IS_TREE_MODEL (model)); - if (icon_list->priv->model == model) + if (icon_view->priv->model == model) return; if (model) @@ -2842,79 +2785,79 @@ egg_icon_list_set_model (EggIconList *icon_list, g_return_if_fail (gtk_tree_model_get_flags (model) & GTK_TREE_MODEL_LIST_ONLY); - if (icon_list->priv->pixbuf_column != -1) + if (icon_view->priv->pixbuf_column != -1) { - pixbuf_column_type = gtk_tree_model_get_column_type (icon_list->priv->model, - icon_list->priv->pixbuf_column); + pixbuf_column_type = gtk_tree_model_get_column_type (icon_view->priv->model, + icon_view->priv->pixbuf_column); g_return_if_fail (pixbuf_column_type == GDK_TYPE_PIXBUF); } - if (icon_list->priv->text_column != -1) + if (icon_view->priv->text_column != -1) { - text_column_type = gtk_tree_model_get_column_type (icon_list->priv->model, - icon_list->priv->pixbuf_column); + text_column_type = gtk_tree_model_get_column_type (icon_view->priv->model, + icon_view->priv->pixbuf_column); g_return_if_fail (text_column_type == G_TYPE_STRING); } } - if (icon_list->priv->model) + if (icon_view->priv->model) { - g_signal_handlers_disconnect_by_func (icon_list->priv->model, - egg_icon_list_row_changed, - icon_list); - g_signal_handlers_disconnect_by_func (icon_list->priv->model, - egg_icon_list_row_inserted, - icon_list); - g_signal_handlers_disconnect_by_func (icon_list->priv->model, - egg_icon_list_row_deleted, - icon_list); - g_signal_handlers_disconnect_by_func (icon_list->priv->model, - egg_icon_list_rows_reordered, - icon_list); + g_signal_handlers_disconnect_by_func (icon_view->priv->model, + gtk_icon_view_row_changed, + icon_view); + g_signal_handlers_disconnect_by_func (icon_view->priv->model, + gtk_icon_view_row_inserted, + icon_view); + g_signal_handlers_disconnect_by_func (icon_view->priv->model, + gtk_icon_view_row_deleted, + icon_view); + g_signal_handlers_disconnect_by_func (icon_view->priv->model, + gtk_icon_view_rows_reordered, + icon_view); - g_object_unref (icon_list->priv->model); + g_object_unref (icon_view->priv->model); - g_list_foreach (icon_list->priv->items, (GFunc)egg_icon_list_item_free, NULL); - g_list_free (icon_list->priv->items); - icon_list->priv->items = NULL; + g_list_foreach (icon_view->priv->items, (GFunc)gtk_icon_view_item_free, NULL); + g_list_free (icon_view->priv->items); + icon_view->priv->items = NULL; } - icon_list->priv->model = model; + icon_view->priv->model = model; - if (icon_list->priv->model) + if (icon_view->priv->model) { - g_object_ref (icon_list->priv->model); - g_signal_connect (icon_list->priv->model, + g_object_ref (icon_view->priv->model); + g_signal_connect (icon_view->priv->model, "row_changed", - G_CALLBACK (egg_icon_list_row_changed), - icon_list); - g_signal_connect (icon_list->priv->model, + G_CALLBACK (gtk_icon_view_row_changed), + icon_view); + g_signal_connect (icon_view->priv->model, "row_inserted", - G_CALLBACK (egg_icon_list_row_inserted), - icon_list); - g_signal_connect (icon_list->priv->model, + G_CALLBACK (gtk_icon_view_row_inserted), + icon_view); + g_signal_connect (icon_view->priv->model, "row_deleted", - G_CALLBACK (egg_icon_list_row_deleted), - icon_list); - g_signal_connect (icon_list->priv->model, + G_CALLBACK (gtk_icon_view_row_deleted), + icon_view); + g_signal_connect (icon_view->priv->model, "rows_reordered", - G_CALLBACK (egg_icon_list_rows_reordered), - icon_list); + G_CALLBACK (gtk_icon_view_rows_reordered), + icon_view); - egg_icon_list_build_items (icon_list); + gtk_icon_view_build_items (icon_view); } - g_object_notify (G_OBJECT (icon_list), "model"); + g_object_notify (G_OBJECT (icon_view), "model"); } /** - * egg_icon_list_get_model: - * @icon_list: a #EggIconList + * gtk_icon_view_get_model: + * @icon_view: a #GtkIconView * - * Returns the model the #EggIconList is based on. Returns %NULL if the + * Returns the model the #GtkIconView is based on. Returns %NULL if the * model is unset. * * Return value: A #GtkTreeModel, or %NULL if none is currently being used. @@ -2922,242 +2865,242 @@ egg_icon_list_set_model (EggIconList *icon_list, * Since: 2.6 **/ GtkTreeModel * -egg_icon_list_get_model (EggIconList *icon_list) +gtk_icon_view_get_model (GtkIconView *icon_view) { - g_return_val_if_fail (EGG_IS_ICON_LIST (icon_list), NULL); + g_return_val_if_fail (GTK_IS_ICON_VIEW (icon_view), NULL); - return icon_list->priv->model; + return icon_view->priv->model; } /** - * egg_icon_list_set_text_column: - * @icon_list: A #EggIconList. + * gtk_icon_view_set_text_column: + * @icon_view: A #GtkIconView. * @column: A column in the currently used model. * - * Sets the column with text for @icon_list to be @column. The text + * Sets the column with text for @icon_view to be @column. The text * column must be of type #G_TYPE_STRING. * * Since: 2.6 **/ void -egg_icon_list_set_text_column (EggIconList *icon_list, +gtk_icon_view_set_text_column (GtkIconView *icon_view, int column) { - if (column == icon_list->priv->text_column) + if (column == icon_view->priv->text_column) return; if (column == -1) - icon_list->priv->text_column = -1; + icon_view->priv->text_column = -1; else { - if (icon_list->priv->model != NULL) + if (icon_view->priv->model != NULL) { GType column_type; - column_type = gtk_tree_model_get_column_type (icon_list->priv->model, column); + column_type = gtk_tree_model_get_column_type (icon_view->priv->model, column); g_return_if_fail (column_type == G_TYPE_STRING); } - icon_list->priv->text_column = column; + icon_view->priv->text_column = column; } - egg_icon_list_invalidate_sizes (icon_list); - egg_icon_list_queue_layout (icon_list); + gtk_icon_view_invalidate_sizes (icon_view); + gtk_icon_view_queue_layout (icon_view); - g_object_notify (G_OBJECT (icon_list), "text_column"); + g_object_notify (G_OBJECT (icon_view), "text_column"); } /** - * egg_icon_list_get_text_column: - * @icon_list: A #EggIconList. + * gtk_icon_view_get_text_column: + * @icon_view: A #GtkIconView. * - * Returns the column with text for @icon_list. + * Returns the column with text for @icon_view. * * Returns: the text column, or -1 if it's unset. * * Since: 2.6 */ gint -egg_icon_list_get_text_column (EggIconList *icon_list) +gtk_icon_view_get_text_column (GtkIconView *icon_view) { - g_return_val_if_fail (EGG_IS_ICON_LIST (icon_list), -1); + g_return_val_if_fail (GTK_IS_ICON_VIEW (icon_view), -1); - return icon_list->priv->text_column; + return icon_view->priv->text_column; } /** - * egg_icon_list_set_markup_column: - * @icon_list: A #EggIconList. + * gtk_icon_view_set_markup_column: + * @icon_view: A #GtkIconView. * @column: A column in the currently used model. * - * Sets the column with markup information for @icon_list to be + * Sets the column with markup information for @icon_view to be * @column. The markup column must be of type #G_TYPE_STRING. * If the markup column is set to something, it overrides - * the text column set by #egg_icon_list_set_text_column. + * the text column set by #gtk_icon_view_set_text_column. * * Since: 2.6 **/ void -egg_icon_list_set_markup_column (EggIconList *icon_list, +gtk_icon_view_set_markup_column (GtkIconView *icon_view, int column) { - if (column == icon_list->priv->markup_column) + if (column == icon_view->priv->markup_column) return; if (column == -1) - icon_list->priv->markup_column = -1; + icon_view->priv->markup_column = -1; else { - if (icon_list->priv->model != NULL) + if (icon_view->priv->model != NULL) { GType column_type; - column_type = gtk_tree_model_get_column_type (icon_list->priv->model, column); + column_type = gtk_tree_model_get_column_type (icon_view->priv->model, column); g_return_if_fail (column_type == G_TYPE_STRING); } - icon_list->priv->markup_column = column; + icon_view->priv->markup_column = column; } - egg_icon_list_invalidate_sizes (icon_list); - egg_icon_list_queue_layout (icon_list); + gtk_icon_view_invalidate_sizes (icon_view); + gtk_icon_view_queue_layout (icon_view); - g_object_notify (G_OBJECT (icon_list), "markup_column"); + g_object_notify (G_OBJECT (icon_view), "markup_column"); } /** - * egg_icon_list_get_markup_column: - * @icon_list: A #EggIconList. + * gtk_icon_view_get_markup_column: + * @icon_view: A #GtkIconView. * - * Returns the column with markup text for @icon_list. + * Returns the column with markup text for @icon_view. * * Returns: the markup column, or -1 if it's unset. * * Since: 2.6 */ gint -egg_icon_list_get_markup_column (EggIconList *icon_list) +gtk_icon_view_get_markup_column (GtkIconView *icon_view) { - g_return_val_if_fail (EGG_IS_ICON_LIST (icon_list), -1); + g_return_val_if_fail (GTK_IS_ICON_VIEW (icon_view), -1); - return icon_list->priv->markup_column; + return icon_view->priv->markup_column; } /** - * egg_icon_list_set_pixbuf_column: - * @icon_list: A #EggIconList. + * gtk_icon_view_set_pixbuf_column: + * @icon_view: A #GtkIconView. * @column: A column in the currently used model. * - * Sets the column with pixbufs for @icon_list to be @column. The pixbuf + * Sets the column with pixbufs for @icon_view to be @column. The pixbuf * column must be of type #GDK_TYPE_PIXBUF * * Since: 2.6 **/ void -egg_icon_list_set_pixbuf_column (EggIconList *icon_list, +gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view, int column) { - if (column == icon_list->priv->pixbuf_column) + if (column == icon_view->priv->pixbuf_column) return; if (column == -1) - icon_list->priv->pixbuf_column = -1; + icon_view->priv->pixbuf_column = -1; else { - if (icon_list->priv->model != NULL) + if (icon_view->priv->model != NULL) { GType column_type; - column_type = gtk_tree_model_get_column_type (icon_list->priv->model, column); + column_type = gtk_tree_model_get_column_type (icon_view->priv->model, column); g_return_if_fail (column_type == GDK_TYPE_PIXBUF); } - icon_list->priv->pixbuf_column = column; + icon_view->priv->pixbuf_column = column; } - egg_icon_list_invalidate_sizes (icon_list); - egg_icon_list_queue_layout (icon_list); + gtk_icon_view_invalidate_sizes (icon_view); + gtk_icon_view_queue_layout (icon_view); - g_object_notify (G_OBJECT (icon_list), "pixbuf_column"); + g_object_notify (G_OBJECT (icon_view), "pixbuf_column"); } /** - * egg_icon_list_get_pixbuf_column: - * @icon_list: A #EggIconList. + * gtk_icon_view_get_pixbuf_column: + * @icon_view: A #GtkIconView. * - * Returns the column with pixbufs for @icon_list. + * Returns the column with pixbufs for @icon_view. * * Returns: the pixbuf column, or -1 if it's unset. * * Since: 2.6 */ gint -egg_icon_list_get_pixbuf_column (EggIconList *icon_list) +gtk_icon_view_get_pixbuf_column (GtkIconView *icon_view) { - g_return_val_if_fail (EGG_IS_ICON_LIST (icon_list), -1); + g_return_val_if_fail (GTK_IS_ICON_VIEW (icon_view), -1); - return icon_list->priv->pixbuf_column; + return icon_view->priv->pixbuf_column; } /** - * egg_icon_list_select_path: - * @icon_list: A #EggIconList. + * gtk_icon_view_select_path: + * @icon_view: A #GtkIconView. * @path: The #GtkTreePath to be selected. * * Selects the row at @path. **/ void -egg_icon_list_select_path (EggIconList *icon_list, +gtk_icon_view_select_path (GtkIconView *icon_view, GtkTreePath *path) { - EggIconListItem *item; + GtkIconViewItem *item; - g_return_if_fail (EGG_IS_ICON_LIST (icon_list)); - g_return_if_fail (icon_list->priv->model != NULL); + g_return_if_fail (GTK_IS_ICON_VIEW (icon_view)); + g_return_if_fail (icon_view->priv->model != NULL); g_return_if_fail (path != NULL); - item = g_list_nth (icon_list->priv->items, + item = g_list_nth (icon_view->priv->items, gtk_tree_path_get_indices(path)[0])->data; if (!item) return; - egg_icon_list_select_item (icon_list, item); + gtk_icon_view_select_item (icon_view, item); } /** - * egg_icon_list_unselect_path: - * @icon_list: A #EggIconList. + * gtk_icon_view_unselect_path: + * @icon_view: A #GtkIconView. * @path: The #GtkTreePath to be unselected. * * Unselects the row at @path. **/ void -egg_icon_list_unselect_path (EggIconList *icon_list, +gtk_icon_view_unselect_path (GtkIconView *icon_view, GtkTreePath *path) { - EggIconListItem *item; + GtkIconViewItem *item; - g_return_if_fail (EGG_IS_ICON_LIST (icon_list)); - g_return_if_fail (icon_list->priv->model != NULL); + g_return_if_fail (GTK_IS_ICON_VIEW (icon_view)); + g_return_if_fail (icon_view->priv->model != NULL); g_return_if_fail (path != NULL); - item = g_list_nth (icon_list->priv->items, + item = g_list_nth (icon_view->priv->items, gtk_tree_path_get_indices(path)[0])->data; if (!item) return; - egg_icon_list_unselect_item (icon_list, item); + gtk_icon_view_unselect_item (icon_view, item); } /** - * egg_icon_list_get_selected_items: - * @selection: A #EggIconList. + * gtk_icon_view_get_selected_items: + * @icon_view: A #GtkIconView. * * Creates a list of path of all selected items. Additionally, if you are * planning on modifying the model after calling this function, you may @@ -3175,22 +3118,21 @@ egg_icon_list_unselect_path (EggIconList *icon_list, * Since: 2.6 **/ GList * -egg_icon_list_get_selected_items (EggIconList *icon_list) +gtk_icon_view_get_selected_items (GtkIconView *icon_view) { GList *list; GList *selected = NULL; - g_return_val_if_fail (EGG_IS_ICON_LIST (icon_list), NULL); + g_return_val_if_fail (GTK_IS_ICON_VIEW (icon_view), NULL); - for (list = icon_list->priv->items; list != NULL; list = list->next) + for (list = icon_view->priv->items; list != NULL; list = list->next) { - EggIconListItem *item = list->data; + GtkIconViewItem *item = list->data; if (item->selected) { GtkTreePath *path = gtk_tree_path_new_from_indices (item->index, -1); - g_print ("index is: %d\n", item->index); selected = g_list_prepend (selected, path); } } @@ -3199,61 +3141,61 @@ egg_icon_list_get_selected_items (EggIconList *icon_list) } /** - * egg_icon_list_select_all: - * @icon_list: A #EggIconList. + * gtk_icon_view_select_all: + * @icon_view: A #GtkIconView. * - * Selects all the icons. @icon_list must has its selection mode set + * Selects all the icons. @icon_view must has its selection mode set * to #GTK_SELECTION_MULTIPLE. **/ void -egg_icon_list_select_all (EggIconList *icon_list) +gtk_icon_view_select_all (GtkIconView *icon_view) { GList *items; gboolean dirty = FALSE; - g_return_if_fail (EGG_IS_ICON_LIST (icon_list)); + g_return_if_fail (GTK_IS_ICON_VIEW (icon_view)); - if (icon_list->priv->selection_mode != GTK_SELECTION_MULTIPLE) + if (icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) return; - for (items = icon_list->priv->items; items; items = items->next) + for (items = icon_view->priv->items; items; items = items->next) { - EggIconListItem *item = items->data; + GtkIconViewItem *item = items->data; if (!item->selected) { dirty = TRUE; item->selected = TRUE; - egg_icon_list_queue_draw_item (icon_list, item); + gtk_icon_view_queue_draw_item (icon_view, item); } } if (dirty) - g_signal_emit (icon_list, icon_list_signals[SELECTION_CHANGED], 0); + g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } /** - * egg_icon_list_unselect_all: - * @icon_list: A #EggIconList. + * gtk_icon_view_unselect_all: + * @icon_view: A #GtkIconView. * * Unselects all the icons. **/ void -egg_icon_list_unselect_all (EggIconList *icon_list) +gtk_icon_view_unselect_all (GtkIconView *icon_view) { gboolean dirty = FALSE; - g_return_if_fail (EGG_IS_ICON_LIST (icon_list)); + g_return_if_fail (GTK_IS_ICON_VIEW (icon_view)); - dirty = egg_icon_list_unselect_all_internal (icon_list); + dirty = gtk_icon_view_unselect_all_internal (icon_view); if (dirty) - g_signal_emit (icon_list, icon_list_signals[SELECTION_CHANGED], 0); + g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } /** - * egg_icon_list_path_is_selected: - * @icon_list: A #EggIconList. + * gtk_icon_view_path_is_selected: + * @icon_view: A #GtkIconView. * @path: A #GtkTreePath to check selection on. * * Returns %TRUE if the icon pointed to by @path is currently @@ -3262,16 +3204,16 @@ egg_icon_list_unselect_all (EggIconList *icon_list) * Return value: %TRUE if @path is selected. **/ gboolean -egg_icon_list_path_is_selected (EggIconList *icon_list, +gtk_icon_view_path_is_selected (GtkIconView *icon_view, GtkTreePath *path) { - EggIconListItem *item; + GtkIconViewItem *item; - g_return_val_if_fail (EGG_IS_ICON_LIST (icon_list), FALSE); - g_return_val_if_fail (icon_list->priv->model != NULL, FALSE); + g_return_val_if_fail (GTK_IS_ICON_VIEW (icon_view), FALSE); + g_return_val_if_fail (icon_view->priv->model != NULL, FALSE); g_return_val_if_fail (path != NULL, FALSE); - item = g_list_nth (icon_list->priv->items, + item = g_list_nth (icon_view->priv->items, gtk_tree_path_get_indices(path)[0])->data; if (!item) @@ -3281,15 +3223,15 @@ egg_icon_list_path_is_selected (EggIconList *icon_list, } /** - * egg_icon_list_item_activated: - * @icon_list: A #EggIconLis + * gtk_icon_view_item_activated: + * @icon_view: A #GtkIconView * @path: The #GtkTreePath to be activated * * Activates the item determined by @path. **/ void -egg_icon_list_item_activated (EggIconList *icon_list, +gtk_icon_view_item_activated (GtkIconView *icon_view, GtkTreePath *path) { - g_signal_emit (G_OBJECT (icon_list), icon_list_signals[ITEM_ACTIVATED], 0, path); + g_signal_emit (G_OBJECT (icon_view), icon_view_signals[ITEM_ACTIVATED], 0, path); } diff --git a/gtk/gtkiconview.h b/gtk/gtkiconview.h index 56b7450139..76e71c476d 100644 --- a/gtk/gtkiconview.h +++ b/gtk/gtkiconview.h @@ -1,4 +1,4 @@ -/* eggiconlist.h +/* gtkiconview.h * Copyright (C) 2002, 2004 Anders Carlsson * * This library is free software; you can redistribute it and/or @@ -16,100 +16,96 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ -#ifndef __EGG_ICON_LIST_H__ -#define __EGG_ICON_LIST_H__ +#ifndef __GTK_ICON_VIEW_H__ +#define __GTK_ICON_VIEW_H__ #include #include G_BEGIN_DECLS -#define EGG_TYPE_ICON_LIST (egg_icon_list_get_type ()) -#define EGG_ICON_LIST(obj) (GTK_CHECK_CAST ((obj), EGG_TYPE_ICON_LIST, EggIconList)) -#define EGG_ICON_LIST_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), EGG_TYPE_ICON_LIST, EggIconListClass)) -#define EGG_IS_ICON_LIST(obj) (GTK_CHECK_TYPE ((obj), EGG_TYPE_ICON_LIST)) -#define EGG_IS_ICON_LIST_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), EGG_TYPE_ICON_LIST)) -#define EGG_ICON_LIST_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), EGG_TYPE_ICON_LIST, EggIconListClass)) +#define GTK_TYPE_ICON_VIEW (gtk_icon_view_get_type ()) +#define GTK_ICON_VIEW(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_ICON_VIEW, GtkIconView)) +#define GTK_ICON_VIEW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_ICON_VIEW, GtkIconViewClass)) +#define GTK_IS_ICON_VIEW(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_ICON_VIEW)) +#define GTK_IS_ICON_VIEW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ICON_VIEW)) +#define GTK_ICON_VIEW_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_ICON_VIEW, GtkIconViewClass)) -typedef struct _EggIconList EggIconList; -typedef struct _EggIconListClass EggIconListClass; -typedef struct _EggIconListPrivate EggIconListPrivate; -typedef struct _EggIconListItem EggIconListItem; +typedef struct _GtkIconView GtkIconView; +typedef struct _GtkIconViewClass GtkIconViewClass; +typedef struct _GtkIconViewPrivate GtkIconViewPrivate; -typedef void (* EggIconListForeachFunc) (EggIconList *icon_list, +typedef void (* GtkIconViewForeachFunc) (GtkIconView *icon_view, GtkTreePath *path, gpointer data); -struct _EggIconList +struct _GtkIconView { GtkContainer parent; - EggIconListPrivate *priv; + GtkIconViewPrivate *priv; }; -struct _EggIconListClass +struct _GtkIconViewClass { GtkContainerClass parent_class; - void (* set_scroll_adjustments) (EggIconList *icon_list, + void (* set_scroll_adjustments) (GtkIconView *icon_view, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); - void (* item_activated) (EggIconList *icon_list, + void (* item_activated) (GtkIconView *icon_view, GtkTreePath *path); - void (* selection_changed) (EggIconList *icon_list); + void (* selection_changed) (GtkIconView *icon_view); /* Key binding signals */ - void (* select_all) (EggIconList *icon_list); - void (* unselect_all) (EggIconList *icon_list); - void (* select_cursor_item) (EggIconList *icon_list); - void (* toggle_cursor_item) (EggIconList *icon_list); - gboolean (* move_cursor) (EggIconList *icon_list, + void (* select_all) (GtkIconView *icon_view); + void (* unselect_all) (GtkIconView *icon_view); + void (* select_cursor_item) (GtkIconView *icon_view); + void (* toggle_cursor_item) (GtkIconView *icon_view); + gboolean (* move_cursor) (GtkIconView *icon_view, GtkMovementStep step, gint count); }; -GType egg_icon_list_get_type (void); -GtkWidget *egg_icon_list_new (void); -GtkWidget *egg_icon_list_new_with_model (GtkTreeModel *model); +GType gtk_icon_view_get_type (void); +GtkWidget *gtk_icon_view_new (void); +GtkWidget *gtk_icon_view_new_with_model (GtkTreeModel *model); -void egg_icon_list_set_model (EggIconList *icon_list, +void gtk_icon_view_set_model (GtkIconView *icon_view, GtkTreeModel *model); -GtkTreeModel *egg_icon_list_get_model (EggIconList *icon_list); -void egg_icon_list_set_text_column (EggIconList *icon_list, +GtkTreeModel *gtk_icon_view_get_model (GtkIconView *icon_view); +void gtk_icon_view_set_text_column (GtkIconView *icon_view, gint column); -gint egg_icon_list_get_text_column (EggIconList *icon_list); -void egg_icon_list_set_markup_column (EggIconList *icon_list, +gint gtk_icon_view_get_text_column (GtkIconView *icon_view); +void gtk_icon_view_set_markup_column (GtkIconView *icon_view, int column); -gint egg_icon_list_get_markup_column (EggIconList *icon_list); -void egg_icon_list_set_pixbuf_column (EggIconList *icon_list, +gint gtk_icon_view_get_markup_column (GtkIconView *icon_view); +void gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view, gint column); -gint egg_icon_list_get_pixbuf_column (EggIconList *icon_list); +gint gtk_icon_view_get_pixbuf_column (GtkIconView *icon_view); -GtkTreePath * egg_icon_list_get_path_at_pos (EggIconList *icon_list, +GtkTreePath * gtk_icon_view_get_path_at_pos (GtkIconView *icon_view, gint x, gint y); -void egg_icon_list_selected_foreach (EggIconList *icon_list, - EggIconListForeachFunc func, +void gtk_icon_view_selected_foreach (GtkIconView *icon_view, + GtkIconViewForeachFunc func, gpointer data); -void egg_icon_list_set_selection_mode (EggIconList *icon_list, +void gtk_icon_view_set_selection_mode (GtkIconView *icon_view, GtkSelectionMode mode); -GtkSelectionMode egg_icon_list_get_selection_mode (EggIconList *icon_list); -void egg_icon_list_select_path (EggIconList *icon_list, +GtkSelectionMode gtk_icon_view_get_selection_mode (GtkIconView *icon_view); +void gtk_icon_view_select_path (GtkIconView *icon_view, GtkTreePath *path); -void egg_icon_list_unselect_path (EggIconList *icon_list, +void gtk_icon_view_unselect_path (GtkIconView *icon_view, GtkTreePath *path); -gboolean egg_icon_list_path_is_selected (EggIconList *icon_list, +gboolean gtk_icon_view_path_is_selected (GtkIconView *icon_view, GtkTreePath *path); -GList *egg_icon_list_get_selected_items (EggIconList *icon_list); -void egg_icon_list_select_all (EggIconList *icon_list); -void egg_icon_list_unselect_all (EggIconList *icon_list); -void egg_icon_list_item_activated (EggIconList *icon_list, +GList *gtk_icon_view_get_selected_items (GtkIconView *icon_view); +void gtk_icon_view_select_all (GtkIconView *icon_view); +void gtk_icon_view_unselect_all (GtkIconView *icon_view); +void gtk_icon_view_item_activated (GtkIconView *icon_view, GtkTreePath *path); - - - G_END_DECLS -#endif /* __EGG_ICON_LIST_H__ */ +#endif /* __GTK_ICON_VIEW_H__ */ -- 2.30.2